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

 

posted @ 2015-09-14 16:12  飘渺丶散人  阅读(346)  评论(0编辑  收藏  举报