IIS Signalr Hub 连接在 Windows 10 家庭版上与一个以上的客户端挂起
IIS Signalr Hub Connection hang with more then one client on Windows 10 Home Edition
C# Web Signalr Hub 托管在 windows 10 Home Edition 的 IIS 中,并在 Windows Universal App 中安装 .Net C# 客户端。如果只有一个客户端连接到这个集线器,那么它工作正常,但不止一个连接挂起。
平板电脑配置如下:
4GB 内存、32GM 内存、1.44 GHz 凌动处理器。
OS。 Windows 10 个家庭版
它在 Windows 10 Pro 上使用相同的配置工作正常。但在 Windows 10 家庭版
上没有
将您的 Signalr Hub 服务器移动到 Windows 来自 IIS 托管的服务,这将帮助我提高性能。
看看下面的代码。
[assembly: OwinStartup(typeof(JOIN8POSShopService.Startup))]
namespace JOIN8POSShopService
{
public partial class Service1 : ServiceBase
{
IDisposable SignalR;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
ShopAPIAccess.WriteToFile("Join8 POS Service started.");
try
{
SignalR = WebApp.Start(ConfigurationManager.AppSettings["ShopHubURL"].ToString());
ShopAPIAccess.WriteToFile("Hub Server Stated");
}
catch (Exception ex)
{
ShopAPIAccess.WriteToFile("Error OnStart Shop Signalr Hub " + ex.Message + " ST=" + ex.StackTrace);
}
//string reportTime = await DayEndAutomation();
ScheduleService("23:00");
}
catch (Exception ex)
{
ShopAPIAccess.WriteToFile("Error OnStart " + ex.StackTrace);
}
Statup 和 hub class 像这样:
class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
};
map.RunSignalR(hubConfiguration);
});
}
}
[HubName("shopApiHub")]
public class ShopApiHub : Hub
{
public override Task OnConnected()
{
ShopAPIAccess.WriteToFile("connection ID= " + Context.ConnectionId);
return base.OnConnected();
}
C# Web Signalr Hub 托管在 windows 10 Home Edition 的 IIS 中,并在 Windows Universal App 中安装 .Net C# 客户端。如果只有一个客户端连接到这个集线器,那么它工作正常,但不止一个连接挂起。
平板电脑配置如下: 4GB 内存、32GM 内存、1.44 GHz 凌动处理器。 OS。 Windows 10 个家庭版
它在 Windows 10 Pro 上使用相同的配置工作正常。但在 Windows 10 家庭版
上没有将您的 Signalr Hub 服务器移动到 Windows 来自 IIS 托管的服务,这将帮助我提高性能。
看看下面的代码。
[assembly: OwinStartup(typeof(JOIN8POSShopService.Startup))]
namespace JOIN8POSShopService
{
public partial class Service1 : ServiceBase
{
IDisposable SignalR;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
try
{
ShopAPIAccess.WriteToFile("Join8 POS Service started.");
try
{
SignalR = WebApp.Start(ConfigurationManager.AppSettings["ShopHubURL"].ToString());
ShopAPIAccess.WriteToFile("Hub Server Stated");
}
catch (Exception ex)
{
ShopAPIAccess.WriteToFile("Error OnStart Shop Signalr Hub " + ex.Message + " ST=" + ex.StackTrace);
}
//string reportTime = await DayEndAutomation();
ScheduleService("23:00");
}
catch (Exception ex)
{
ShopAPIAccess.WriteToFile("Error OnStart " + ex.StackTrace);
}
Statup 和 hub class 像这样:
class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
app.Map("/signalr", map =>
{
map.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration
{
};
map.RunSignalR(hubConfiguration);
});
}
}
[HubName("shopApiHub")]
public class ShopApiHub : Hub
{
public override Task OnConnected()
{
ShopAPIAccess.WriteToFile("connection ID= " + Context.ConnectionId);
return base.OnConnected();
}