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>
     
  • 相关阅读:
    Linux下配置APACHE支持PHP环境
    mysql 管理脚本
    RAC迁移至单机考虑几大因素
    mysql配置文件my.cnf模板
    hadoop 日常问题汇总(持续更新)
    Redis配置文件
    jquery操作select(增加,删除,清空)
    mybatis异常
    Elasticsearch 之 query与filter区别
    在elasticsearch里如何高效的使用filter
  • 原文地址:https://www.cnblogs.com/tgdjw/p/4609051.html
Copyright © 2011-2022 走看看