【问题标题】:IIS Signalr Hub Connection hang with more then one client on Windows 10 Home EditionIIS Signalr 集线器连接在 Windows 10 家庭版上与多个客户端挂起
【发布时间】:2016-12-01 05:14:03
【问题描述】:

C# Web Signalr Hub 托管在 Windows 10 家庭版的 IIS 中,并在 Windows 通用应用程序中具有 .Net C# 客户端。如果只有一个客户端连接到这个集线器,那么它工作正常,但不止一个连接挂起。

平板电脑有以下配置: 4GB RAM,32GM 内存,1.44 GHz Atom 处理器。 操作系统。 Windows 10 家庭版

在 Windows 10 Pro 上使用相同的配置可以正常工作。但不适用于 Windows 10 家庭版

【问题讨论】:

  • 你很可能达到了 IIS 限制。

标签: c# iis signalr windows-10


【解决方案1】:

将您的 Signalr Hub 服务器从托管的 IIS 移至 Windows 服务,这将使我提高性能。

看看下面的代码。

[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 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();
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    相关资源
    最近更新 更多