使用VS.NET来调试XML Web服务

ZDNet软件频道 时间:2003-06-23 作者:ZDNet China |  我要评论()
本文关键词:
XML Web服务被微软吹捧为即将到来的重大变革。但是直到最近,开发人员还没下功夫去有效地开发它们,而是对这个新协议的未来仍抱有疑虑。幸运的是,Visual Studio .NET已经让Web服务的开发和使用变得很容易了。
本文译自Builder.com,未经许可请勿转载 XML Web服务被微软吹捧为即将到来的重大变革。但是直到最近,开发人员还没下功夫去有效地开发它们,而是对这个新协议的未来仍抱有疑虑。幸运的是,Visual Studio .NET已经让Web服务的开发和使用变得很容易了,而同时让调试Web服务也成为可能——如果不总是很简单的话。
Web服务调试背后的概念

使用VS.NET进行Web服务的开发有很多可能的情形:

  • 使用ASP.NET和Visual Studio .NET来开发服务自身
  • 使用外部服务,将其作为你ASP.NET或者Windows窗体应用程序的一部分
  • Web服务和应用程序的开发

如果你正在自己开发Web服务,那么就能够使用一个缺省的页面来调试它,在使用浏览器显示ASMX文件的时候你会看到这个缺省的页面。如果你正在开发一个使用外部服务的应用程序,你的选择就会很有限。由于不太可能通过远程服务来获取调试信息,所以大多数问题都无法被调试出来。

如果你正在同时编写服务和应用程序,那么你的调试选择就要多一些——而且更加复杂。你需要测试,可能还要调试服务本身以及应用程序同Web服务之间的接口。最好的方法是从应用程序来进入服务。这就是我们会在本文里探讨的例子,因为这一内容涵盖了最广泛的、可能会出现的问题。

举例

我们准备创建一个简单的Web服务和一个使用这项服务Windows窗体应用程序。在开始之前,先让我们做一些清理的工作。如果你正在一台远程服务器上运行这个例子,那么由于会有很多XML Web服务,所以你需要在服务器上加载远程调试程序(Remote Debugging)。用户需要拥有服务器管理员(Administrator)的权限。由于我们会在一个Windows窗体应用程序里使用这个Web服务,所以你应该在服务器上加入ASP.NET的工作进程(Worker Process)。这就需要在Windows 2000上安装aspnet_wp.exe,或者在Windows 2003上安装w3wp.exe。现在我们就可以开始调试的测试了。

要开始工作,就要首先生成一个简单的服务,叫做Debug Services(调试服务),并带有TestDebug类和一个方法GetTestResult:
public string GetTestResult()
{
   string TestResult = "";
   TestResult = System.AppDomain.CurrentDomain.ToString();
   return TestResult;
}


如果你在字符串声明(string declaration)处设置一个断点(breadpoint)并按[F5]键(在把新文件设置为起始页之后),那么Visual Studio就会在浏览器里加载用于这项服务的示例页面。在你选择GetTestResult服务并点击调用(Invoke)按纽(没有带参数)之后,你就会进入调试模式,就如同ASP.NET的Web窗体一样。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134