我正在从我的 .net winforms 应用程序调用 .net webservice,两者都在框架 4.0 中。在程序执行期间,Web 服务第一次调用方法时,该调用大约需要 10-12 秒。后续调用大约需要 1-2 秒。即使重新创建 Web 引用实例,后续调用仍然需要大约 1-2 秒。当winforms应用程序重新启动时,第一次调用再次出现延迟,但后续调用有响应。
Web 引用的实例是在呼叫发生之前创建的,并且不属于延迟的一部分。
正在生成 winforms 应用程序的 XmlSerializers(据我所知并使用它,但我不确定如何验证这一点)。
由于 Web 服务端首次运行编译,因此不会发生延迟。这是一个全天使用的生产 Web 服务,其应用程序池保留在内存中。据我所知,延迟要么发生在客户端,要么发生在第一次调用的客户端和服务器之间,但不会发生后续调用。
不确定接下来要检查什么。有任何想法吗?
As spender已表示,该问题与代理检测有关。在 Internet Explorer 中关闭该功能解决了问题,但在我的情况下这是不可行的。
相反,有一种解决方法可以绕过默认代理的使用,从而绕过自动检测。
将这些条目添加到 app.config 允许某些 URL 绕过代理:
<configuration>
<system.net>
<defaultProxy>
<bypasslist>
<add address="server/domain name" />
</bypasslist>
</defaultProxy>
</system.net>
</configuration>
更多信息可以在这里找到:MSDN 上的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)