我只是想知道,过去几天它正在寻找我是否可以在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);
}
}
答案 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);