【发布时间】:2010-03-27 18:58:25
【问题描述】:
我正在开发一个 WPF 应用程序,它通过 Internet 上的 WCF 服务与服务器通信。在分析应用程序后,我注意到创建适当的 WCF 客户端代理并调用服务器会占用大量时间。
服务器上的代码已经过优化,不需要任何时间来运行,但我仍然看到从服务被调用到返回客户端有 1.5 秒的延迟。
几点说明背景:
- 我使用 ASP.Net 成员身份来确保安全
- 我最终会通过网站连接到相同的服务器端代码
- 我最终希望在应用程序中获得离线支持
我确实需要尽早确定性能,因为好像应用程序需要几秒钟才能恢复,这对于我想要做的事情来说太长了。
谁能建议对我有帮助的性能提示?
【问题讨论】:
-
您确定这些延迟不是由于网络延迟造成的吗?尝试从接收请求到发送响应的那一刻对服务进行概要分析。这可以通过实现自定义
IDispatchMessageInspector: weblogs.asp.net/paolopia/archive/2007/08/23/… 来完成 -
@Darin - 不能像我在开发环境中的本地主机上那样,但我仍然会尝试你的建议。还有其他想法吗?
-
如果这1.5s没有被服务和网络延迟消耗掉,剩下的就是客户端应用了。
-
@Darin - 我通过分析发现 a) 0.5 秒用于关闭服务,另外 1 秒用于实际服务调用。我认为客户端和服务器之间的握手可能需要一些时间,这是最好的管理方法,您有经验吗?
标签: wcf performance web-services