2011-03-25 57 views
3

所以我發現自己有一個難題。在我們的應用中,我們有一些舊的asmx網絡服務,這些服務在很長一段時間都運行良好ASMX操作404s,但ASMX服務描述沒有,url路由問題?

他們突然停止在構建服務器(CI)上工作。我說停止工作,因爲即使導航到服務時顯示服務描述,調用任何操作也不會路由到服務(Web表單路由)。在我嘗試解決這個問題時出現了兩個奇怪的問題。

1.)擱置所有待處理的更改,從TFS獲取最新內容並執行本地構建(,除非我錯了,否則會從構建服務器獲取內容,因爲我們使用每個校驗進行構建/推送在)。我注意到我不能在本地複製錯誤。 2)儘管我不能在本地複製錯誤,但我仍然懷疑路由,但是我們所有服務的路由首先添加到表中,並且看起來像這樣:"{service}.asmx/{*pathInfo}",我想這是作爲爲了安全起見,就像這樣MyService.svc甚至不應該使它的路由器,作爲文件確實存在,雖然我不知道這規則適用於MyService.svc /的MyMethod

我我不太確定如何測試路由,也就是說在哪裏設置一個斷點來知道我是否正在通過某個特定請求的路由表,因此,該區域中的任何指針以及其他任何指針ID爲什麼這可能會發生。

謝謝!

+0

[ASMX服務可能在開發服務器上工作,在部署到IIS 7.5時返回404](http://stackoverflow.com/q/5416020/50447) – 2012-06-11 14:20:30

回答

7

我剛剛遇到了同樣的錯誤,絆倒這個SO進入後:

Handlers returns 404 error on IIS7.5 integrated pipeline

,並試圖加入.asmx處理程序到web服務器web.configs部分的所有的解決方案是很好:

 

    <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

浪費了小時,我需要的是這個嗎? X( – Dann 2013-03-06 16:38:00