无法调试asmx Web服务

问题描述 投票:1回答:2

我尝试附加处理w3wp.exe来调试我的asmx web服务,添加断点。但没有任何反应(断点当前不会被击中。此文档没有加载任何符号)。

我可以在othes项目中调试从asmx文件调用的代码。

请参阅asmx文件:

<%@ WebService Language="vb" Codebehind="~/App_Code/MyWebService.asmx.vb" Class="MyWebService.MyWebService" Debug="true" %>

请参阅Web.config:

<compilation defaultLanguage="vb" debug="true" targetFramework="4.0">
  <compilers>
    <compiler language="vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=".VB" compilerOptions="/optimize+ /define:Trace=True /imports:Microsoft.VisualBasic,System,System.Collections,System.Data,System.Diagnostics,System.Web,System.Web.Services"/>
  </compilers>
</compilation>

我使用win 2008 R2,VS 2010 SP1,IIS 7.5,.Net Framework 4 x86。

有人有想法如何调试我的asmx文件?

web-services debugging asmx
2个回答
1
投票

在Visual Studio中,确保您在调试模式下运行(而不是发布模式)。同时尝试删除/ obj和/ bin文件夹,然后尝试重新构建整个解决方案。


0
投票

这就是我发生的事情:

我复制并粘贴一个asmx文件,我有新复制的asmx文件。

即,我将MyWebService.asmx复制到MyWebService2.asmx原始.asmx文件:

<%@ WebService Language="C#" Codebehind="~/App_Code/MyWebService.asmx.cs" Class="MyWebService.MyWebService" Debug="true" %>

我忘了重命名类部分:Class="MyWebService.MyWebService"然后MyWebService2.asmx文件包含:

<%@ WebService Language="C#" Codebehind="~/App_Code/MyWebService2.asmx.cs" Class="MyWebService.MyWebService" Debug="true" %>

甚至MyWebService2.asmx.cs文件也包含MyWebService2,但后端将重定向到的asmx文件:MyWebService

MyWebService2.asmx.cs:

    [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 MyWebService2: System.Web.Services.WebService
    {
    }

我的错,当我双击.asmx文件时,VS会显示.asmx.cs文件,所以让我很困惑。

© www.soinside.com 2019 - 2024. All rights reserved.