MVC5使用SignalR进行双向通信(1)





MVC5使用SignalR进行双向通信 (1)

配置Signal

  1. 在NuGet中通过 install-package Microsoft.AspNet.SignalR 命令进行安装
  2. 在Scripts文件夹中会添加 jquery.signalR-2.2.0.js 和 jquery.signalR-2.2.0.min.js
  3. 在startup的configuration方法中加入app.MapSignalR();

    app.MapSignalR()是把Signal Hub 映射到 /signal

        
        
        
        
    1. using Owin;
    2. using Microsoft.Owin;
    3. [assembly: OwinStartup(typeof(SignalRChat.Startup))]
    4. namespace SignalRChat
    5. {
    6. public class Startup
    7. {
    8. public void Configuration(IAppBuilder app)
    9. {
    10. // Any connection or hub wire up and configuration should go here
    11. app.MapSignalR();
    12. }
    13. }
    14. }

后台代码

  1. 在Model文件夹中新建一个ChatHub继承自Hub,写一个send方法,用户接受客户端的请求

        
        
        
        
    1. public class ChatHub:Hub
    2. {
    3. ///
    4. /// 发送信息给所有用户
    5. ///
    6. ///
    7. public void SendAll(string name,string message)
    8. {
    9. //发送给所有客户端
    10. Clients.All.sendAll(name,message);
    11. }
    12. }

前台代码

  1. 新建一个视图名为Chat.cshtml
  2. 加入如下代码
  
  
  
  
  1. @{
  2. ViewBag.Title = "Chat";
  3. }
  4. Chath2>

  5. <div class="container">
  6. <input type="text" id="message" />
  7. <input type="button" id="sendmessage" value="Send" />
  8. <input type="hidden" id="displayname" />
  9. <ul id="discussion">
  10. ul>
  11. div>
  12. //在Layout.cshtml 中定义了名为 scripts 的section
  13. @section scripts {
  14. <script src="~/Scripts/jquery.signalR-2.1.0.min.js">script>
  15. <script src="~/signalr/hubs">script>

你可能感兴趣的:(MVC5使用SignalR进行双向通信(1))