【问题标题】:How to create online signalR server如何创建在线 signalR 服务器
【发布时间】:2015-12-09 23:57:36
【问题描述】:

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

【问题讨论】:

    标签: c# azure signalr


    【解决方案1】:

    您只需将您的 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 应用中。

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

    Tutorial: Getting Started with SignalR 2

    【讨论】:

    • 我在线上传了一个带有服务器集线器的 ASP.Net 网络应用,它可以工作!
    【解决方案2】:

    我认为最简单的方法是创建一个Azure Worker Role 并使用它来托管您的服务器。

    Here you can find the documentation that explains how to Host OWIN in an Azure Worker Role.

    希望这会有所帮助。

    祝你好运!

    更新:关于自托管应用程序似乎有些混乱。

    如果您有一个在 IIS 上运行的 ASP.NET 网站,那么最简单的方法是通过 Azure WebApps。另一种选择是通过云服务,或在 Azure 上创建虚拟机。

    但如果您确实有一个自托管的 OWIN 应用程序,那么您必须有一个可以托管 OWIN 应用程序的辅助角色。在这种情况下,请按照我提供的文档进行操作。

    Here is how to create a SignalR self hosted application.

    因此,关于您如何创建 SignalR 应用程序,您可以在这些方法之间进行选择。

    祝你好运!

    【讨论】:

    • 谢谢,我试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 2019-06-18
    相关资源
    最近更新 更多