IIS中的主机SignalR

时间:2014-10-17 05:19:45

标签: c# iis signalr signalr-hub

我只是想知道,过去几天它正在寻找我是否可以在IIS中托管SignalR Hub?这件事有可能吗?我找到了一个名为" self hosting"但它是在控制台应用程序的帮助下。我想在我的IIS中托管SignalR Hub是可能的吗?有人能为我提供一个例子吗?

即将发布自我托管的代码,我想我可能会帮助

class Program
    {
        static void Main(string[] args)
        {
            // This will *ONLY* bind to localhost, if you want to bind to all addresses
            // use http://*:8080 to bind to all addresses. 
            // See http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx 
            // for more information.
            string url = "http://localhost:8080";
            using (WebApp.Start(url))
            {
                Console.WriteLine("Server running on {0}", url);
                Console.ReadLine();
            }
        }
    }
    class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR();
        }
    }
    public class MyHub : Hub
    {
        public void Send(string name, string message)
        {
            Clients.All.addMessage(name, message);
        }
    }

3 个答案:

答案 0 :(得分:8)

在IIS中托管SignalR就像创建一个带有SignalR Hub的网站一样简单,然后将其发布到IIS中的网站。

SignalR Hub将位于http://www.yourdomain.com/

如果您在此处遵循本教程,您将找到所需内容http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr

答案 1 :(得分:2)

Websocket支持默认情况下不在IIS上启用。它是IIS 8中引入的,必须从Windows的可选功能中启用:https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support

可选功能-> IIS-> WWW服务-> App Dev功能-> Websocket协议

免责声明:我是在问了一个关于自己的问题后才发现的,所以我从那里复制了答案:https://stackoverflow.com/a/61411666/4364057

万一有人发现我之后,我想为我认为比公认的问题更好的问题提供一个有效的答案。

答案 2 :(得分:0)

自托管信号服务器的部署是通过管理员权限运行控制台exe。 192.168.1.10是本地计算机IP。其他设备可以通过信号器连接网址。

fullIP = @" http://" +" 192.168.1.10" + @":9001" SignalR = WebApp.Start(fullIP);