如何创建在线signalR服务器
本文关键字:在线 signalR 服务器 创建 何创建 | 更新日期: 2023-09-27 18:26:15
我已经使用Signalr和Windows窗体构建了一个简单的聊天应用程序,但我的应用程序是自托管的,只能在我的本地主机地址上工作,我如何在azure上在线上传服务器并将我的桌面客户端应用程序连接到它?我刚开始学习Signalr。我在谷歌上做了一些研究,但找不到任何能回答我问题的东西。
您只需要将您的signalR Hub发布为一个网站,如果您在中托管您的网站并不重要
- Azure Web应用程序
- Azure虚拟机
- Azure云服务
SignalR Hub最"自然"的托管方式是ASP.Net网站,无论该网站是否在azure上。所以你不会在那里发现任何复杂的场景。
你的聊天中心代码可能看起来像(来自signalR文档的代码)
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应用程序后,您可以在任何地方托管它,我建议您在Azure web应用程序中托管该应用程序。
这是关于如何实现我上面告诉你的步骤的完整/详细教程:
教程:SignalR 2入门
我认为最简单的方法是创建一个Azure Worker Role
并使用它来托管服务器。
在这里,您可以找到解释如何在Azure Worker角色中托管OWIN的文档。
希望这能有所帮助。
祝你好运!
更新:对于自托管应用程序,似乎存在一些混淆。
如果你有一个在IIS上运行的ASP.NET网站,那么最简单的方法就是通过Azure WebApps。另一种选择是通过云服务,或者在Azure上创建虚拟机。
但是,如果您确实有一个自托管的OWIN应用程序,那么您必须有一个可以托管OWIN应用软件的辅助角色。在这种情况下,请遵循我提供的文档。
以下是如何创建SignalR自托管应用程序。
因此,关于如何创建SignalR应用程序,您可以在这些方法之间进行选择。
祝你好运!