2011-01-21 63 views
0

我有一个ASP.NET C#项目使用webservices,WebMethods是在VB.NET中用本地IIS服务器上的源代码编写的。 WebMethod返回null,我想调试它知道为什么我得到这个。你可能知道,如果我在webmethod调用之前设置了一个断点,我就不能进入这个webmethod。如何调试VB.NET WebMethod?

那么,如何调试此webmethod的正确方法?

谢谢!

+0

您使用的是什么版本的visual studio? – Oded 2011-01-21 15:20:12

回答

1

将调试器附加到服务器进程,在Web方法代码中放置一个断点并调用Web方法。

Visual Studio应该在Web方法中断开。


对于这个确切的bug有一个针对VS 2005的错误 - 请参阅here

知识库文章中的解决方案是将网络方法的任何String参数的签名从byref更改为byval

+0

好吧,我将VS.NET代码加载到VS 2008中,我尝试将该过程附加到WebDev.WebServer.exe,在webmethod中放置了一个断点,但没有停止......断点上有一个警告:“断点将会目前没有被击中,这个文件没有加载符号。“ – elbaid 2011-01-21 15:37:19

0

Web方法运行在与消费应用程序不同的进程(Web服务)中。因此,当您调试消费应用程序时,您无法步入Web服务。但是,您可以在运行消费应用程序时调试Web服务(例如,通过附加到适当的IIS进程)。另一个选择是直接调用Web服务 - 对于简单的方法,您可以使用Web服务本身提供的测试表单;对于更复杂的事情,像SoapUI这样的东西可以用来触发Web服务调用。