【发布时间】:2009-08-04 16:34:20
【问题描述】:
我们有一个 .NET 3.5 应用程序,它调用服务器上的 Web 服务。在这个应用程序的几乎每次安装中,整个请求/回复过程大约需要半秒。
在一个特定的安装中,这些请求几乎花费了 85 秒(半秒之内)。
我的第一个想法是 web 服务客户端每次调用都在重建 XML 序列化程序集,但即使直接发送硬编码的 xml 文件仍然需要几乎完全相同的时间。观察网络流量似乎表明事务的实际发送数据部分正在发生在一秒钟之内。所以问题都在客户端。
是否存在某种可能导致此问题的权限延迟?
编辑(更详细):
该应用程序是 Web 服务查询的基本包装器 - 输入一些参数,向 Web 服务发送查询并获得响应。我们从 wsdl.exe 工具生成的客户端代码开始,但也尝试在遇到问题时直接使用 HttpWebRequest。根据日志和网络跟踪,流程似乎是:
T 0:00 - user initiates request
T 1:24 - the application sends request to server
T 1:25 - the client receives the response and displays to the user.
【问题讨论】:
-
此时必须进行身份验证,您的 Web 服务上的安全设置是什么?
-
它在纯 http 上运行,无需通过 VPN 进行身份验证。
标签: .net performance web-services