signalR基本范例
SignalR 将与客户端进行实时通信带给了ASP .NET 。当然这样既好用,而且也有足够的扩展性。以前用户需要刷新页面或使用Ajax轮询才能实现的实时显示数据,现在只要使用SignalR,就可以简单实现了。最重要的是您无需重新建立项目,使用现有ASP .NET项目即可无缝使用SignalR。
一、安装SignalR
使用SignalR需要通过NuGet进行安装,有两种方式
1.通过命令行的方式install-package SignalR.Sample(通过程序包管理器控制台)
2.通过右键项目管理NuGet进行安装(SingalR)
至此SingalR 安装完成。
二、在页面中引入相应js
需要引入的文件如下图:
注:<script src="~/signalr/hubs" type="text/javascript"></script>必须引入
三、构建服务器
新建SingalR集线器ChatHub.cs
[HubName("ChatHub")]
public class ChatHub : Hub
{
/// <summary>
/// 调用所有客户端js
/// </summary>
/// <param name="name"></param>
/// <param name="message"></param>
public void SendMessage(string message)
{
Clients.All.sendMessage(message);
}
/// <summary>
/// 调用某一分组用户客户端js
/// </summary>
/// <param name="name"></param>
/// <param name="message"></param>
public void SendGroup(string group, string message)
{
Clients.Group(group).sendGroup(message);
}
/// <summary>
/// 除调用者问题以外的所有客户端用户js
/// </summary>
/// <param name="message"></param>
public void SendOthers(string message)
{
Clients.Others.sendOthers(message);
}
/// <summary>
/// 调用调用者客户端的js
/// </summary>
/// <param name="message"></param>
public void SendCaller(string message)
{
Clients.Caller.sendCaller(message);
}
}
新建 永久连接类Startup.cs
public void Configuration(IAppBuilder app)
{
// 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888
app.MapSignalR();
}
服务器配置完毕
四、页面Js