我已经使用Signalr和Windows Forms构建了一个简单的聊天应用程序,但是我的应用程序是自托管的,并且只能在我的本地主机地址上运行,如何在azure上在线上传服务器并将桌面客户端应用程序连接到它?我刚刚开始学习Signalr。我已经在Google上进行了一些研究,但找不到能回答我问题的任何东西。
您只需将您的 signalR Hub 发布为网站,无论您是否将您的网站托管在
托管 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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您唯一需要做的就是将集线器放入 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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这就是全部了。
创建 Web 应用程序后,您可以将其托管在任何您想要的地方,我建议您将应用程序托管在 Azure Web 应用程序中。
这是关于如何实现我上面告诉您的步骤的完整/详细教程:
| 归档时间: |
|
| 查看次数: |
4843 次 |
| 最近记录: |