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

Mas*_*ity 3 .net webforms url-routing asmx .net-4.0

所以我发现自己有一个难题.我们的应用程序中有一些旧的asmx Web服务,这些服务已经运行了很长时间.

突然间,他们停止了构建服务器(CI)的工作.我说停止工作,因为即使我导航到服务时显示服务描述,调用任何操作也不会路由到服务(Web窗体路由).我试图解决这个问题时出现了两个奇怪的问题.

1.)搁置所有挂起的更改,从TFS中获取最新信息,然后进行本地构建(除非我弄错了,否则我会在构建服务器上找到自我们每次签入后构建/推送的内容).我注意到我无法在本地复制错误.

2.)即使我无法在本地复制错误,我仍然怀疑路由,但是我们所有服务的路由都首先添加到表中,如下所示:"{service}.asmx/{*pathInfo}"我想这是作为安全预防措施添加的东西像MyService.svc甚至不应该把它带到路由器,因为文件实际存在,虽然我不确定该规则是否适用于MyService.svc/MyMethod

我不确定如何测试路由,即在哪里设置断点以了解我是否正在通过路由表查找特定请求,因此该区域中的任何指针都将受到赞赏,以及任何关于为什么会发生这种情况的其他想法.

谢谢!

小智 7

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

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

并尝试将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>