首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当IIS不响应连接请求时,SignalR保持在连接状态

问当IIS不响应连接请求时,SignalR保持在连接状态
EN

Stack Overflow用户
提问于 2020-01-08 15:42:04
回答 1查看 306关注 0票数 0

在Windows10机器上使用SignalR和IIS时,我遇到了一个问题。问题是IIS only allows for 10 concurrent connections。当到达第10个连接时,客户端HubConnection将长时间处于连接状态。

代码语言:javascript
复制
using Microsoft.AspNet.SignalR.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {

        static int usedConnections = 0;

        static  void Main(string[] args)
        {
            Foo();

            while (true) { }
        }


        static async void Foo()
        {
            for(int i = 0; i < 15; i++)
            {
                await SetupSignalR();
            }
        }

        static async Task SetupSignalR()
        {
            //Set connection
            var hub = new HubConnection("http://MyComputer/MyIISApp");

            hub.TraceLevel = TraceLevels.All;
            hub.TraceWriter = Console.Out;

            //Make proxy to hub based on hub name on server
            var myHub = hub.CreateHubProxy("MyIISHub");
            //Start connection
            hub.TransportConnectTimeout = TimeSpan.FromSeconds(5);

            await hub.Start();
            usedConnections++;
            Console.WriteLine($"Used Conenctions: {usedConnections}");

            return;
        }
    }
}

在一段合理的时间后,我想向用户显示一条消息,告诉用户HubConnection无法连接到服务器,但我不知道如何设置超时或触发事件。如何才能通知用户IIS不接受连接请求?

EN

回答 1

Stack Overflow用户

发布于 2020-01-09 09:34:42

根据您的描述,我建议您可以尝试编写代码来监控连接时间,如果时间已经超过30秒,您可以直接停止连接到信号服务器并显示错误消息。

此外,IIS的连接限制仅在windows10上发生。如果您使用的是windows服务器,则对IIS连接没有限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59641430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档