SignalR 自寄宿

Posted LittleFeiHu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SignalR 自寄宿相关的知识,希望对你有一定的参考价值。

源代码

https://github.com/xlb378917466/Chat.Server

1.使用控制台程序来寄宿SignalR的服务端,这需要借助于Owin中间件

2.实现一个服务端的ChatHub

 public class ChatHub : Hub
    {
        public void Send(string name, string message)
        {
            Clients.All.addMessage(name, message);
        }

        public override Task OnConnected()
        {
            Console.WriteLine("Client connected: " + Context.ConnectionId);

            return base.OnConnected();
        }

        public override Task OnDisconnected(bool stopCalled)
        {
            Console.WriteLine("Client disconnected: " + Context.ConnectionId);
            return base.OnDisconnected(stopCalled);
        }

    }

 3.构建一个Chat.WebClient,,可以通过网页来通信,这个例子支持断开重连的问题解决

这个地方容易碰到的问题就是,

服务端的SignalR与客户端的版本不一致导致连接出错,

另一个就是js中大小写的问题,比如我在server端的HUB是ChatHub,但是js里只能用 $.connection.chatHub,否则报错

 

4.构建CS通信客户端,你需要借助于Microsoft.AspNet.SignalR.Client

通过Microsoft.AspNet.SignalR.Client构建一个代理,通过代理来发送消息

 

signalr的MSDN技术文档

以上是关于SignalR 自寄宿的主要内容,如果未能解决你的问题,请参考以下文章

Nancy 自寄宿

WCF自寄宿实现Https绑定

Nancy 自寄宿

NancyFx+SignalR 自托管和 Windows 服务

在 Windows 服务中使用自托管托管 SignalR

《ASP.NET SignalR系列》第二课 SignalR的使用说明