具体有关SignalR的说明查网上,我这里简单列举一个例子
1.新建MVC,添加SignalR引用(NuGet安装)。
2、添加OWIN START类
public class Startup
{
public void Configuration(IAppBuilder app)
{
// 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
app.MapSignalR();//添加此句
}
}
3、添加SignalR 集线器类
[HubName("chatHub")] //对Hub起个名方便客户端连接
public class ChatHub : Hub
{
public void Send(string msg)//服务器方法,是浏览器端js调用此方法
{
Clients.All.sendmsg(msg);//服务器调用客户端中的js方法
}
}
4、添加控制器Home中的视图Index
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.6.4.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="~/signalr/hubs"></script>
</head>
<body>
<input id="msg" />
<button id="btn">send</button>
<div>
<ul id="contentMsg"></ul>
</div>
<script>
$(function () { var chat = $.connection.chatHub;//就是服务器端Hub类 chat.client.sendmsg=function(msg){$("ul").append("<li>"+msg+"</li>");};//服务器调用此方法,并把服务器推送过来的信息展示在页面上 $.connection.hub.start();//启动连接 $("#btn").click(function () {//当发送信息时调用服务器方法
chat.server.send($("#msg").val());//这里调用服务器端的Send方法,不知道为什么大写的Send就不起作用。
}); });
</script>
</body>
</html>