我有一个使用Web服务的ASP.NET C#项目,而WebMethods是在VB.NET中用本地IIS服务器上的源代码编写的。 WebMethod返回null,我想调试它以了解为什么我得到它。
您可能知道,如果我在webmethod调用之前设置了一个断点,我就无法进入这个web方法。
那么,调试这个web方法的正确方法是怎样的呢?
谢谢!
答案 0 :(得分:1)
将调试器附加到服务器进程,在Web方法代码中放置一个断点并调用Web方法。
Visual Studio应该在Web方法中中断。
对于这个确切的错误,VS 2005存在一个错误 - 请参阅here。
知识库文章中的解决方案是将网络方法的所有String
参数的签名从byref
更改为byval
。
答案 1 :(得分:0)
Web方法在与使用应用程序不同的进程(Web服务)中运行。因此,当您调试使用的应用程序时,您无法进入Web服务。但是,您可以在运行使用应用程序时调试Web服务(例如,通过附加到适当的IIS进程)。另一种选择是直接调用Web服务 - 对于简单的方法,您可以使用Web服务本身提供的测试表单;对于更复杂的事情,像SoapUI这样的东西对于触发Web服务调用很有用。