zoukankan      html  css  js  c++  java
  • Singalr初学

       [HubName("djwChat")]
        public class ChatHub:Hub
        {
            public void Send(string name)
            {
                //动态表达式
                Clients.All.addMsgToPage(name);
                          
            }
    
        }

    owin配置非常重要。

    [assembly: OwinStartup(typeof(SingalRTest.Startup))]
    namespace SingalRTest
    {
    
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {           
                app.MapSignalR();
            }
        }
    }
      <appSettings>
        <add key="webpages:Version" value="2.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="PreserveLoginUrl" value="true" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        <add key="owin:AppStartup" value="SingalRTest.Startup, SingalRTest" />
        <!--<add key="owin:AutomaticAppStartup" value="true" />-->
      </appSettings>

    如果没有

    [assembly: OwinStartup(typeof(SingalRTest.Startup))],需要在appSettings里配置节点
            $(function () {
    
                //创建代理
                var chat = $.connection.djwChat;
    
                chat.client.addMsgToPage = function () {
                    //2、服务端通知客户端 do something 
                };
    
                $("#send").click(function () {
                    chat.server.send("msg");
                    //1、发送消息到服务端,调用服务端的Send方法
                });
    
                $.connection.hub.start();
    
            });
     PersistentConnection长连接类的使用方法
    public class MyConnection:PersistentConnection
        {
            protected override System.Threading.Tasks.Task OnReceived(IRequest request, string connectionId, string data)
            {
                 data = string.Format("数据是:{0} 时间是:{1}", data, DateTime.Now.ToString());
                 return Connection.Send(connectionId, data);
            }
        }

    同样是owin启动配置

    [assembly: OwinStartup(typeof(SingalRTest.Startup))]
    namespace SingalRTest
    {
    
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                // Any connection or hub wire up and configuration should go here 
                //app.MapSignalR();
                
                app.MapSignalR<MyConnection>("/随便写");//必须是/开头,自定义路径。
            }
        }
    }
        <script type="text/javascript">
            $(function () {
                
                var connection = $.connection('/随便写');//保持和后台自定义路径相同
                connection.received(function (data) {
                    $('#messages').append('<li>' + data + '</li>');
                });
    
                connection.start();
    
                $("#broadcast").click(function () {
                    connection.send($('#msg').val());
                });
                $("#btnStop").click(function () {
                    connection.stop();
                });
            });
    
        </script>
     
  • 相关阅读:
    sql server 2008 R2突然用windows和sa都无法登录。昨天都还能登陆,今天突然不行。
    JSON
    String类型判断是否一致
    5-4利用选取事件实时修改订单
    5-3以复选框创建餐点选项
    mysql创建存储过程
    margin标记可以带一个、二个、三个、四个参数,各有不同的含义。
    CSS字间距
    Html合并单元格
    MySQL Innodb存储引擎 事务隔离级别 锁 理解
  • 原文地址:https://www.cnblogs.com/tgdjw/p/4609051.html
Copyright © 2011-2022 走看看