c# – 如何创建在线signalR服务器

我使用Signalr和Windows Forms构建了一个简单的聊天应用程序,但是我的应用程序是自托管的,只能在我的本地主机地址上运行,如何在Azure上在线上传服务器并将我的桌面客户端应用程序连接到它?我刚开始学习Signalr.我已经对Google做了一些研究,但找不到任何可以回答我问题的内容.

解决方法:

您只需要将您的signalR Hub发布为网站,如果您托管您的网站并不重要

> Azure Web Apps
> Azure虚拟机
> Azure云服务

主持SignalR Hub最“自然”的方式是ASP.Net网站,无论网站是否天蓝,都无关紧要.所以你不会在那里找到任何复杂的场景.

您的聊天中心代码可能如下(来自signalR docs的代码)

using System;
using System.Web;
using Microsoft.AspNet.SignalR;
namespace SignalRChat
{
    public class ChatHub : Hub
    {
        public void Send(string name, string message)
        {
            // Call the broadcastMessage method to update clients.
            Clients.All.broadcastMessage(name, message);
        }
    }
}

您唯一需要做的就是将集线器放在ASP.NET Web应用程序中,即使是空的.当然,您需要添加SignalR nuget包.

在启动类中(任何OWIN应用程序都需要),您必须调用app.MapSignalR,如下所示:

using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // Any connection or hub wire up and configuration should go here
            app.MapSignalR();
        }
    }
}

这几乎都是.

创建Web App后,您可以随时随地托管它,我建议您在Azure Web App中托管该应用程序.

这是关于如何实现我上面告诉你的步骤的完整/详细教程:

Tutorial: Getting Started with SignalR 2

上一篇:3--设计模式:建造者模式


下一篇:SignalR的Android客户端没有收到,但JS没有收到