Bri*_* M. 8 c# vb.net web-services asmx .net-4.0
我在我的.net winforms应用程序中调用.net webservice,两者都在框架4.0中.在程序执行期间,webservice第一次调用方法时,调用大约需要10-12秒.后续通话需要约1-2秒.即使重新创建Web引用实例,后续调用仍然是〜1-2秒.重新启动winforms应用程序时,会再次发生第一个呼叫延迟,但后续呼叫会响应.
Web调用的实例是在调用发生之前创建的,并不是延迟的一部分.
正在生成winforms应用程序的XmlSerializers(并据我所知使用,但我不知道如何验证这一点).
由于Web服务端的首次编译,因此没有发生延迟.这是一整天都在使用的生产Web服务,其apppool保留在内存中.据我所见,延迟发生在客户端,或客户端和服务器之间的第一次呼叫,但不是后续呼叫.
不知道接下来要检查什么.有任何想法吗?
正如消费者所指出的那样,问题与代理检测有关.在Internet Explorer中关闭它解决了这个问题,但在我的情况下做不到办法.
相反,有一种解决方法可以绕过默认代理的使用,从而避免自动检测.
将这些条目添加到app.config允许某些URL绕过代理:
<configuration>
<system.net>
<defaultProxy>
<bypasslist>
<add address="server/domain name" />
</bypasslist>
</defaultProxy>
</system.net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
可以在此处找到更多信息:MSDN上的<defaultProxy Element>