我已经阅读了关于maxconnection
设置的每篇文章connectionManagement
:即http://support.microsoft.com/kb/821268/en-us,但是在 ASP.NET 和 .NET 之间存在许多混淆使用的术语。
此设置仅适用于 ASP.NET 还是也适用于 .NET 控制台应用程序/Windows 服务?
谢谢
我已经阅读了关于maxconnection
设置的每篇文章connectionManagement
:即http://support.microsoft.com/kb/821268/en-us,但是在 ASP.NET 和 .NET 之间存在许多混淆使用的术语。
此设置仅适用于 ASP.NET 还是也适用于 .NET 控制台应用程序/Windows 服务?
谢谢
从元素(网络设置):
Element(网络设置)元素包含 System.Net 和相关子命名空间中的类的设置。这些设置配置身份验证模块、连接管理、邮件设置、代理服务器和用于从 Internet 主机接收信息的 Internet 请求模块。
因此,例如 maxConnection 设置适用于使用 WebRequest 或其子类(HttpWebRequest、FtpWebRequest 等)建立出站连接的任何尝试。ASP.NET 是核心框架之上的一层,因此这些设置适用于它以及所有其他类型的应用程序,例如 Windows.Forms 和控制台应用程序。
为了确认我个人必须为控制台、winform 和 ASP.NET 应用程序设置此设置,以在进行负载测试时增加 maxConnection 限制。
示例用法:
<system.net>
<connectionManagement>
<add address="*" maxconnection="1000"/>
</connectionManagement>
</system.net>
如果您正在创建大量到同一 URL 的短期连接,例如,如果进行 SOAP 服务调用,请检查所连接的服务器是否使用 HTTP 保持连接。这将允许调用重复使用相同的连接。如果您不这样做,那么您可能会在进行出站调用的机器上耗尽可用的 TCP 端口,因为一旦使用它们就不会立即可供重用(这一点实际上仅与高负载或负载测试集相关-UPS)。