2011-03-24 110 views
19

我在ASP.NET 4.0中的Web应用程序返回404。我已经添加了一个asmx服务,主要作为自动完成扩展器查找值的来源。ASMX服务工作的开发服务器上,在部署到IIS 7.5

当我在我的机器上调试本地,一切工作正常。然而,当我部署Web应用程序到IIS 7.5,我尝试将数据发送到服务时,得到一个HTTP 404响应。

我能够浏览到服务定义,看到可用的操作。然而,当我使用POST测试服务时,我会再次收到一个HTTP 404,然而,如果使用POST来测试服务,我会感到不可思议。

我不知道是怎么回事。我确实在我的Web应用程序中创建了asmx文件,并将其部署在我的其他正在运行的生产应用程序的虚拟目录中。

在同一虚拟目录中部署.asmx文件可能存在问题吗?

+2

Di你有没有解决这个问题? – Aardvark 2011-09-30 17:35:55

回答

6

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

  • 是否配置为使用正确的.NET版本
  • 检查身份
  • 检查托管管道模式;一些应用需要经典使用
+1

管道模式为我们解决了这个问题,我建议接受! – SilverSkin 2011-12-09 11:08:05

22

我刚刚遇到了同样的错误,绊倒这个SO进入后:

Handlers returns 404 error on IIS7.5 integrated pipeline

ASMX operation 404s, but ASMX service description doesn't, url routing issue?

,并尝试添加的解决方案web.configs webServer部分的asmx处理程序一切正常:

 

    <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> 


+0

感谢您的回答... – 2014-05-19 05:48:06

相关问题