我尝试附加处理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文件?
在Visual Studio中,确保您在调试模式下运行(而不是发布模式)。同时尝试删除/ obj和/ bin文件夹,然后尝试重新构建整个解决方案。
这就是我发生的事情:
我复制并粘贴一个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文件,所以让我很困惑。