bRa*_*dOn 6 c# iis signalr signalr-hub
我只是想知道,过去几天它正在寻找我是否可以在IIS中托管SignalR Hub?这件事有可能吗?我找到了一个名为"自托管"的解决方案,但它是在控制台应用程序的帮助下完成的.我想在我的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);
}
}
Run Code Online (Sandbox Code Playgroud)
在IIS中托管SignalR就像创建一个带有SignalR Hub的网站一样简单,然后将其发布到IIS中的网站.
SignalR Hub将位于http://www.yourdomain.com/
如果您在此处阅读本教程,您将找到所需内容http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr
默认情况下,IIS 上未启用 Websocket 支持。它是在 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 Features -> Websocket 协议
免责声明:我在自己问了一个问题后发现了这个,所以我从那里复制了我的答案:https : //stackoverflow.com/a/61411666/4364057
如果有人在我之后发现这个,我想为我认为比接受的问题更好的问题提供一个有效的答案。