簡體   English   中英

嘗試訪問部署到IIS 7.5的Web API 2服務時出現404錯誤

[英]404 Error when trying to access Web API 2 Service deployed to IIS 7.5

我已經使用Web API 2框架創建了一個獨立的REST服務。 該項目不包含UI,因為該服務將在另一個域的其他地方使用。

該服務在本地運行時完全可以正常運行,並且在使用瀏覽器內REST客戶端進行測試時,所有HTTP方法均可以按預期方式工作/返回。

但是,在發布服務並將其部署到IIS 7.5 ,我無法在REST客戶端中訪問服務路由的任何資源。 我不斷404 - Resource Not Found錯誤。

我已經做過的事情:

將以下內容添加到我的Web.Config

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
        <handlers>
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
  </system.webServer>

確保AppPool是正確的(據我所知這是正確的): 在此處輸入圖片說明

了解我的發布配置文件的發布配置可能也很有用:

  • 發布方式:文件系統
  • 配置:調試
  • 在發布之前刪除所有現有文件:否
  • 發布期間預編譯:否
  • 從App_Data文件夾中排除文件:是

IIS綁定:

  • 類型:HTTP
  • 主機名:www.MySubdomain.Domain.co.uk
  • 端口:80
  • IP地址: *

我如何嘗試在REST客戶端中訪問服務的示例URL如下:

  • www.MySubDomain.Domain.co.uk/api/ControllerName/1

  • (使用api/ControllerName/1可以在本地正常工作)

任何其他嘗試嘗試將不勝感激。

原來我的裝訂有點不正確! 當我將其托管在子域上時,我不需要www. 在我的綁定中。 一旦我刪除了這4個字符,一切正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM