【发布时间】:2013-02-26 17:58:22
【问题描述】:
对于与一组有限的其他服务器联系的 C# Web 服务,我希望为每个我希望能够联系的服务器创建 1 个 HTTP 连接池。
课程基本概念:
- 每个池应打开几个连接(3 个连接?)到其远程网络服务器,并保持这些连接处于活动状态。
- 应使用 max-time-to-life 来回收(断开/重新连接)与远程 Web 服务器的连接,防止远程 Web 服务器在我们这样做之前断开连接。
- 不应同时创建连接,而是在 3 个连接之间稍作停顿,因此回收也不会同时发生。
- 如果远程网络服务器仍然意外断开连接,应引起注意并重新连接。
- 如果由于某种原因无法重新连接,应在稍作停顿后重试。
这样,当我想发送一个 HttpWebRequest 时,我就有了现成的连接,节省了在我想使用它的那一刻建立连接的时间。
目前我不知道这是否是 HttpWebRequest 的默认功能。很抱歉,如果我要求显而易见。谷歌搜索只会让我对 Java 提出类似的问题。
问题1:.NET/c#中是否存在这样的东西?
问题 2:如果没有,你知道互联网上有没有关于这个礼物的资源?
问题 3:如果没有,如何自己构建一个?
【问题讨论】:
-
对不起,如果我误解了您的问题或它的上下文,但这不是通过在 .NET 中使用 WebSockets/长轮询简单地完成的吗? SignalR 会很好地工作。
标签: c# httpwebrequest connection-pooling