繁体   English   中英

从VS2003调试.NET 2.0 Web服务?

[英]Debug .NET 2.0 web service from VS2003?

我有一个在VS2005 asp.net 2.0框架应用程序中创建的Web服务,我需要在1.1框架应用程序中使用它。 我构建了Web服务 - 然后构建了一个小的1.1框架测试器应用程序来调用它,它工作得很好。 所以现在我已经将web引用完全添加到我需要使用它的主1.1框架应用程序中。被调用的web方法是boolean类型,如果成功则返回true。 我回来了 - 但是web方法应该执行的更新没有发生。 当我从小测试应用程序调用Web方法时 - 它们发生了很好。

我的问题是 - 如何从我的1.1消费者调试到我的2.0提供商? MS文档说我应该能够在调用Web服务时设置断点并直接进入(目前正在开发中它们都在同一台机器上)。 这不起作用,因为它只是跨越那行代码。 任何帮助赞赏。

确保在两个web.config文件中都有<compilation debug="true"/> ,并确保它们都是在DEBUG模式下构建的。

现在我想起来了,这可能行不通。 我假设您正在使用VS2003调试.NET 1.1代码,对吧? 它不会进入.NET 2.0代码。 您将不得不启动一个单独的VS2005实例,附加到运行Web服务的进程,设置断点,然后等待。

在VS 2005或2008中,您可以将任何进程附加到调试器,但在VS2003中,我不是,它非常arquaiq。

如果不工作你总是可以从1.1转换为2.0是非常清晰,因为有2.0的一半功能

我从来没有能够使用VS2003调试2.0 Web服务,但我通常做的是设置两个调试器。 一个用于VS2003中的1.1应用程序,另一个连接到IIS的第二个调试器,它使用VS2005运行Web服务(连接到WinXP中的aspnet_wp.exe,或WinServer2K3或Vista上的W3WP.exe)。 这样,您可以调试1.1应用程序,也可以在Web服务上安装调试器。

另一种始终启动调试器的方法是在代码中添加以下行,并在调用时弹出一个对话框,它将为您提供正确的调试器选项:

System.Diagnostics.Debugger.Break();

如果在要调试时将其添加到Web服务中,则会强制您打开调试器以继续执行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM