我有一个在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服务时设置断点并直接进入(目前正在开发中它们都在同一台机器上)。这不起作用,因为它只是跨越那行代码。任何帮助表示赞赏。
答案 0 :(得分:1)
确保两个web.config文件中都有<compilation debug="true"/>
,并确保它们都是以DEBUG模式构建的。
现在我想到了,这可能行不通。我假设您正在使用VS2003调试.NET 1.1代码,对吧?它不会进入.NET 2.0代码。您将不得不启动一个单独的VS2005实例,附加到运行Web服务的进程,设置断点,然后等待。
答案 1 :(得分:0)
在VS 2005或2008中,您可以将任何进程附加到调试器,但在VS2003中,我不是,它非常arquaiq。
如果不起作用,你总是可以从1.1转换为2.0,因为它具有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服务中,它将强制您打开调试器以继续执行代码。