背景web
本地環境:Win7,Visual Studio 2013, IIS 7.5api
WebForm 項目,添加一個http接口給別人調用。less
個人作法是添加了一個Controller,Application_Start 裏面添加路由。測試
而後本地測試經過。ui
發佈spa
發佈機器環境: Window Server 2008 R2, IIS 7.0.net
發佈以後訪問接口拋出 404.0 not found 頁面。code
網上搜搜解決方案,通常排除方法以下:orm
1. 確認.net framework 4.5 已經安裝blog
2. 修改web.config配置
配置system.webServer節點下的modules 和 handlers 節點
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
然而上述方法都不能解決個人問題。
以後意識到個人應用程序池配置的4.0 經典模式,經過如下方法解決了問題~
3. 添加通配符腳本映射
或者修改配置
<handlers> ...... <add name="all" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> </handlers>