为一个联系有限数量其他服务器的 C# Web 服务,我希望创建每个想要联系的服务器一个 HTTP 连接池。
基本概念包括:
- 每个连接池应该向其远程 Web 服务器打开几个连接(3 个连接?),并保持这些连接处于活动状态。 - 应使用最大存活时间来回收(断开/重新连接)到远程 Web 服务器的连接,防止在我们之前远程 Web 服务器断开连接。 - 连接不应同时创建,而应在 3 个连接之间留有一定的暂停时间,以便回收也不会同时发生。 - 如果远程 Web 服务器仍然意外断开连接,应注意并重新连接。 - 如果由于某些原因无法重新连接,则应在稍微暂停一下后重试。
这样,当我想要发送 HttpWebRequest 时,就可以使用已经准备好的连接,节省了在使用时建立连接的时间。
目前我不知道这是否是 HttpWebRequest 的默认功能。如果我在问明显的问题请原谅。搜索类似的问题只导致了 Java 的类似问题。
问题 1:.NET/C# 中是否存在这样的功能?
问题 2:如果没有,您是否知道有关此功能的互联网资源?
问题 3:如果没有,如何开始构建自己的连接池?
基本概念包括:
- 每个连接池应该向其远程 Web 服务器打开几个连接(3 个连接?),并保持这些连接处于活动状态。 - 应使用最大存活时间来回收(断开/重新连接)到远程 Web 服务器的连接,防止在我们之前远程 Web 服务器断开连接。 - 连接不应同时创建,而应在 3 个连接之间留有一定的暂停时间,以便回收也不会同时发生。 - 如果远程 Web 服务器仍然意外断开连接,应注意并重新连接。 - 如果由于某些原因无法重新连接,则应在稍微暂停一下后重试。
这样,当我想要发送 HttpWebRequest 时,就可以使用已经准备好的连接,节省了在使用时建立连接的时间。
目前我不知道这是否是 HttpWebRequest 的默认功能。如果我在问明显的问题请原谅。搜索类似的问题只导致了 Java 的类似问题。
问题 1:.NET/C# 中是否存在这样的功能?
问题 2:如果没有,您是否知道有关此功能的互联网资源?
问题 3:如果没有,如何开始构建自己的连接池?