我在ASP.NET 4.0中有一个Web应用程序.我添加了一个asmx服务,主要是作为自动完成扩展器的查找值的源.
当我在本地机器上调试时,一切正常.但是,当我将Web应用程序部署到IIS 7.5时,我在尝试将数据发送到服务时收到HTTP 404响应.
我能够浏览到服务定义,查看可用的操作.然而,引人注目的是,当我使用测试页面使用POST测试服务时,我再次收到HTTP 404.
我不确定发生了什么.我确实在我的Web应用程序中创建了asmx文件,它部署在我正在运行的生产应用程序的虚拟目录中.
是否存在将.asmx文件部署在同一虚拟目录中的问题?
<httpHandlers>
<add path="ajaxpro/*.ashx" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" />
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)
我在集成模式下遇到了iis7.5的问题.当我在经典模式处理程序中使用它时,上面提到的工作正常,但如果我切换到集成管道 - 所有应该处理的请求返回404错误.为什么?