ASMX服务在开发服务器上运行,在部署到IIS 7.5时返回404

rst*_*kly 19 asp.net iis-7 asmx

我在ASP.NET 4.0中有一个Web应用程序.我添加了一个asmx服务,主要是作为自动完成扩展器的查找值的源.

当我在本地机器上调试时,一切正常.但是,当我将Web应用程序部署到IIS 7.5时,我在尝试将数据发送到服务时收到HTTP 404响应.

我能够浏览到服务定义,查看可用的操作.然而,引人注目的是,当我使用测试页面使用POST测试服务时,我再次收到HTTP 404.

我不确定发生了什么.我确实在我的Web应用程序中创建了asmx文件,它部署在我正在运行的生产应用程序的虚拟目录中.

是否存在将.asmx文件部署在同一虚拟目录中的问题?

小智 22

在遇到这个SO条目后,我刚刚遇到了同样的错误:

处理程序返回404错误在IIS7.5集成管道

ASMX操作404s,但是ASMX服务描述没有,url路由问题?

并尝试将asmx处理程序添加到web.configs webServer部分的解决方案一切都很好:


  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <handlers>
      <add verb="*" path="*.asmx" name="asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>
  </system.webServer>



Nil*_*nde 6

您应该检查Web服务的应用程序池:

  • 是否配置为使用正确的.NET版本
  • 检查身份
  • 检查托管管道模式; 某些应用程序需要使用Classic

  • 管道模式为我们解决了问题,我建议接受! (2认同)