好吧,通过将其设置得如此之低,您可能会或可能会引入一系列问题。由于您可能能够在合理的时间内到达该站点,因此其他人可能无法到达。
一个完美的例子是 Verizon,他们调用了一系列Proxy Servers
可以大大减慢连接速度的方法。我提出这样一个例子的原因;Timeout
是我们的应用程序在抛出异常前一分钟指定的。
我们的服务器对大量请求没有问题,它很容易处理它们。但是,我们在世界各地的一些用户收到此错误:错误 10060。
问题可能来自不正确的路由Proxy Configuration
或Invalid Registry Key
实际处理Timeout
请求的路由。
您会认为一分钟确实足够快,但实际上并非如此。与这个客户的特定网络一样,它不能足够快地虹吸数据 - 因此会导致错误。
所以你问:
为什么 HttpWebRequest ReadWrite Timeout 默认为五分钟?
他们试图解释最小的公分母。
简单地说,每个网络和客户端在移动到所需位置时可能会有大量流量或延迟。如果它无法在您的端口理想套接字请求中到达目的地,您的用户将遇到异常。
关于网络的一些非常重要的事情:
- 某些配置的网络具有有限的跳数/生存时间。
- 过滤数据和安全性很重的代理和防火墙可能会延迟您的流量。
- 有些地区没有高速光纤或电缆。他们可能依赖 Satellite 或 DSL。
- 每个网络协议都是不同的。
这些是您必须考虑的一些变量。如果我们谈论的是互联网;每个客户端都有一个家庭网络;连接到 ISP;连接到互联网;连接到你。因此,您需要聚合多种形式的流量。
如果我们谈论的是 Intranet,使用大多数现代技术,您的时间成为问题的可能性很小,但仍有可能。
此外,每台单独的计算机都可能参与或导致问题。在 Windows 8 中,为浏览器指定的默认Timeout
值为一分钟;在某些情况下,这些用户可能会在您的应用程序、站点或其他方面遇到异常。因此,您将手动更改注册表中的ServerTimeOut
andTimeOut
键以分配更长的值。
简而言之:
- 客户端计算机在您分配的时间内到达您的站点可能会造成问题。
- 网络 / ISP 可能会给某些用户带来问题。
- 您的服务器可能配置不正确或未分配正确的时间。
这些都是需要考虑的变量;因为它们会影响对您的应用程序的访问。不幸的是,在它启动并且用户开始使用您的网站之前,您无法确定。
不幸的是,您不知道您指定的时间是否足够;但它默认为更高的数字,因为世界各地存在如此多的变化,以至于它试图考虑最小的公分母。因为您的目标是接触尽可能多的人。
顺便说一句,非常好的问题,到目前为止也有一些很好的答案。