如何调试Web服务?

我正在使用visual studio,我将asp.net应用程序作为一个项目,将web服务作为另一个项目。我在我的asp.net应用程序中使用Web服务。 我的webservice代码存在某种问题。但我无法从asp.net应用程序连续调试到web服务。我在应用程序和Web服务中都设置了断点但在Web服务中未激活断点并且它显示了我的连接错误。如何在localhost上托管时这样做?

如果您将Web应用程序作为启动项目运行,请尝试在另一个调试实例中运行Web服务。

您可以通过右键单击Web服务项目,调试 – >启动新实例来完成此操作

您应该将调试器附加到w3wp(IIS进程)。

这是一个可以帮助您的链接 。

如果要在本地系统中进行调试,可以设置多个启动项目。 您可以通过解决方案属性设置多个启动。 希望这有帮助

尝试调试服务本身,看它是否遇到断点。 只需将其中包含服务的项目设置为主项目,并将服务设置为主起始页面。

如果它没有达到断点,它可能没有加载所有符号。 如果将项目设置为释放配置而不是调试,则会发生这种情况。

Web服务是否在远程计算机上运行,​​如果是这样,您需要为Web服务设置远程调试。

您能否检查一下您是否添加了服务引用您的Web服务,或者您是否无法访问您的Web服务function。 我正在我的项目中使用Web服务,如下所示

这是我的网络服务代码

[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class JsonData : System.Web.Services.WebService { [WebMethod(Description = "")] [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)] public StateData[] GetStateByCountryID(int ID) { StateData objStateData = new StateData(); LMGDAL.db_LMGEntities dbData = new db_LMGEntities(); var data = (from con in dbData.tblStates where con.State_CountryID == ID select new StateData { StateID = con.StateID, StateName = con.StateName }).ToList(); return data.ToArray(); } 

然后我添加服务引用到我的asp.net Web表单

这个代码在我的表格中

  

我想这会对你有所帮助