当我在连接到相同URI的单个.NET应用程序中使用多个ServerEventsClient实例时,任何后续的GET / POST等调用都会无限期地阻塞并超时。我相信这与@mythz(Timeout using ServiceStack.Client)的答案中提到的某些DDoS保护有关。而且只有当服务器和客户端不在同一台PC上运行时,这种情况才会发生。
我可以通过确保只为给定URI创建一个ServerEventsClient来解决此问题,但是在进行过多工作之前,我想确保这是设计使然,并且没有更简单的处理方法这个。还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
ServiceStack的C# Server Events Client在后台使用.NET HttpWebRequest
,每个域都有内置的请求限制。
您应该可以通过增加System.Net.ServicePointManager.DefaultConnectionLimit来增加限制,例如:
ServicePointManager.DefaultConnectionLimit = 10;
或者,您应该可以在Web.config中使用<connectionManagement>
增加此限制:
<configuration>
<system.net>
<connectionManagement>
<add address = "http://www.contoso.com" maxconnection = "4" />
<add address = "*" maxconnection = "10" />
</connectionManagement>
</system.net>
</configuration>