应用程序挂在Web服务中

时间:2011-07-18 13:57:25

标签: c# web-services

我有一个应用程序,用户抱怨它在用户尝试执行某个操作时挂起。我发现它挂在Web服务调用中。 Web服务正在远程服务器上运行。当代码在远程服务器上时,我无法弄清楚如何通过VS调试Web服务。

如何在Web服务中找到代码挂起的位置?

2 个答案:

答案 0 :(得分:1)

如果您无法访问Web服务的来源,那么您将无法“调试”它。如果你想尝试从外部调试它,那么你可以创建一个页面,向它发送各种输入(一些应该工作,一些应该出错,等等)。然后,您可以在具有开发人员工具的浏览器中访问此页面(我建议使用Firefox w / Firebug或Google Chrome),然后查看调用的时间。谷歌浏览器将向您显示发送请求所需的时间,等待时间,接收时间等等。如果它实际上是Web服务而您无权访问它,那么奇怪的是你有责任解决这个问题。我有一种感觉,如果这是一个强大的网络服务,你会发现你有一个网络问题或你发送一些无效的输入或类似的东西。

如果您确实可以访问源代码,则只需在本地运行Web服务,并将本地版本的应用程序指向本地版本的Web服务。您放入Web服务的任何断点都将挂起应用程序,您可以像非Web服务代码一样单步执行它。

答案 1 :(得分:0)

在您自己的代码中,查看Web服务调用的内容。例如它是否会出错?超时?它是否会成功回复?如果没有,您是否发送有效数据?

如果Web服务调用成功但速度很慢,请考虑如何使应用程序看起来响应更快。一种可能性是使用Asynchronous Programming