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>
     
  • 相关阅读:
    Hbase写数据,存数据,读数据的详细过程 分类: B7_HBASE 2015-03-15 20:11 117人阅读 评论(0) 收藏
    机器学习(十四):深度学习梯度优化算法(SGD SGD-M NAG AdaGrad RMSProp Adam )
    机器学习(十三):卷积神经网络(CNN)
    机器学习(十一):FP增长(FP-growth)
    机器学习(十):Apriori算法
    Gulp命令自动生成精灵图
    esLint参数设置
    js 监控iframe URL的变化
    React+Redux学习笔记:React+Redux简易开发步骤
    React组件实现越级传递属性
  • 原文地址:https://www.cnblogs.com/tgdjw/p/4609051.html
Copyright © 2011-2022 走看看