2009年5月12日 星期二

WCF 設定:此服務的安全性設定需要 'Anonymous' 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證。

老問題了。在IIS 7 又發生了如下的錯誤。

'/' 應用程式中發生伺服器錯誤。

此服務的安全性設定需要 'Anonymous' 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證。

描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.NotSupportedException: 此服務的安全性設定需要 'Anonymous' 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證。

原因

*.svc檔需要 Anonymous 來讀取,以提供 wsdl。而目錄並未提供 Anonymous 的權限。

步驟

  1. 檢查目錄是否有 Network Service 的 「讀取及執行」、「列出資料夾內容」、「讀取」的權限
  2. 檢查目錄是否有 IIS_IUsrs 的 「讀取及執行」、「列出資料夾內容」、「讀取」的權限
  3. 在 IIS Manager 上檢查目錄是否有啟用「匿名驗證」

image image

更詳的步驟,參考這裡

2011/02/09: 有時,是IIS 未註冊成功的目題,請試著執行

執行"%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r –y

2011/06/09: 在 dotnet V4.0,要執行"%windir%\Microsoft.NET\Framework64\v4.0.30319\ServiceModelReg.exe" –r

2012/06/06: 在 Windows 8 的 IIS 8 上,ServiceModelReg 已被取消。所得的結果只剩下

Microsoft (R) WCF/WF registration tool version 4.5.0.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Administration utility that manages the installation and uninstallation of
WCF and WF components on a single machine.

[Error]This tool is not supported on this version of Windows. Administrators should instead install/uninstall Windows Communication Foundation features using the 'Turn Windows Features On/Off' dialog, or the dism command line tool.

意思是:只能使用Turn Windows Features on or of 的方式來安裝。

沒有留言:

Share with Facebook