程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> WebApi 部署IIS 404.0 not found,webapi404.0

WebApi 部署IIS 404.0 not found,webapi404.0

編輯:關於.NET

WebApi 部署IIS 404.0 not found,webapi404.0


  

背景

本地環境:Win7,Visual Studio 2013, IIS 7.5

WebForm 項目,添加一個http接口給別人調用。

我的做法是添加了一個Controller,Application_Start 裡面添加路由。

然後本地測試通過。

 

發布

發布機器環境: Window Server 2008 R2, IIS 7.0

發布之後訪問接口拋出 404.0 not found 頁面。

網上搜搜解決方案,一般排除方法如下:

1. 確認.net framework 4.5 已經安裝

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>

 

  




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved