0

我有一个使用 Web 服务的 ASP.NET C# 项目,并且 WebMethods 是用 VB.NET 编写的,源代码位于本地 IIS 服务器上。WebMethod 返回 null,我想调试它以知道为什么会这样。

你可能知道,如果我在 webmethod 调用之前设置断点,我就无法进入这个 webmethod。

那么,调试这个 webmethod 的正确方法是什么?

谢谢!

4

2 回答 2

1

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

Visual Studio 应该在 web 方法中中断。


对于这个确切的错误,VS 2005 存在一个错误 - 请参见此处

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

于 2011-01-21T15:18:33.777 回答
0

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

于 2011-01-21T15:21:56.183 回答