具体有关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>