Share via


IIS 裝載的服務失敗

如果 IIS 裝載的服務失敗,您會發現下列任何一種徵兆:

  • 當瀏覽 .svc 檔時,該檔案無法認出、瀏覽器顯示空白頁面,或顯示檔案文字而不是服務的說明網頁,如下列範例所示。

    <%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
    
  • 嘗試存取 Web 裝載服務時,您可能會遇到下列例外狀況。

    Unhandled Exception: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (405) Method not allowed.
    

    通常在未安裝 ASP.NET 或是 .svc 檔案類型未對應到 aspnet_isapi.dll,就會發生這個情況。
    若要修正這種情況,您必須確定已啟用 aspnet_isapi 做為 IIS 的 Web 服務延伸。您可以使用 IIS 管理員或是從 .NET Framework 安裝目錄執行 aspnet_regiis –i –enable,進行檢視或修改這項設定。一旦您完成這個動作,請驗證 ASP.NET 是否已經執行。若要這麼做,請將測試 .aspx 檔置於 \inetpub\wwwroot 目錄中,然後確定可以使用瀏覽器瀏覽這個檔案。

  • 如果是在安裝 Windows Communication Foundation (WCF) 後才安裝 IIS,您就必須執行下列命令。

    "%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r
    

    這樣便會在 IIS 中註冊所需的指令碼對應。
    您也必須確定 .svc 檔案類型已對應至 aspnet_isapi.dll。

驗證 svc 檔案類型已對應成由 IIS 5.1 或 6.0 中的 aspnet_isapi.dll 處理

  1. 在 [控制台] 中開啟 [電腦管理]。

  2. 依序展開 [服務及應用程式] 和 [網際網路資訊服務]。

  3. 以滑鼠右鍵按一下 [網站],然後選取 [內容]。

  4. 在 [主目錄] 索引標籤上,按一下 [組態]。

  5. 使用應用程式對應清單,驗證 .svc 檔案已對應至 aspnet_isapi.dll。如果該檔案並未正確對應:

    1. 按一下 [新增]。
    2. 在 [新增/編輯應用程式副檔案名對應] 對話方塊中,按一下 [瀏覽]。
    3. 瀏覽至包含 aspnet_isapi.dll 的資料夾,然後按一下 [開啟]。
    4. 指定 .svc 做為副檔名。
    5. 確定已取消核取 [檢查該檔案是否存在]。
    6. 按一下 [確定],再按一下 [確定] 以返回 [網站內容] 對話方塊。
  6. 按一下 [確定] 關閉對話方塊。

驗證 svc 檔案類型已在 IIS 7.0 中正確對應

  1. 開啟命令提示視窗,並輸入 start inetmgr,以開啟網際網路資訊服務 (IIS) MMC 嵌入式管理單元。

  2. 在左窗格中,展開具有該電腦名稱的節點,然後展開 [網站] 節點,再選取 [預設的網站]。

  3. 按兩下 [功能檢視] 中的 [處理常式對應]。

  4. 使用應用程式對應清單,驗證 .svc 檔案已對應至 aspnet_isapi.dll。如果該檔案並未正確對應:

    1. 按一下 [新增 Managed 處理常式]。
    2. 在 [要求路徑:] 中輸入 *.svc
    3. 在 [類型] 文字方塊中輸入 System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    4. 在 [名稱:] 文字方塊中輸入 svc-Integrated
    5. 按一下 [確定]。
    6. 按一下 [新增指令碼對應]。
    7. 在 [要求路徑:] 中輸入 *.svc
    8. 在 [可執行檔:] 文字方塊中輸入 %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
    9. 在 [名稱:] 文字方塊中輸入 svc-ISAPI-2.0
    10. 使用上移/下移控制項,確保清單中 Managed 處理常式 (svc-Integrated) 的位置出現在 aspnet_isapi (svc-ISAPI-2.0) 處理常式之前。
    11. 按一下 [確定]。

請參閱

概念

Internet Information Service 裝載指示

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.