我已經使用自定義AppPool在IIS 6上託管了WCF服務。此AppPool配置爲在IIS_WPG組中的用戶下運行。在IIS WPG組中使用用戶託管的WCF服務?
我可以從遠程位置訪問該服務,可以看到WSDL爲好,但是當我試圖通過「WCF測試客戶端」訪問相同的服務,我得到了以下錯誤
更新:當我通過將AppPool的身份更改爲「網絡服務」組來運行相同的服務時,可以通過測試客戶端訪問服務。 因此,服務元數據只有在服務以「網絡服務」(這是用戶的默認身份)之外的身份運行時纔可訪問
我已經使用自定義AppPool在IIS 6上託管了WCF服務。此AppPool配置爲在IIS_WPG組中的用戶下運行。在IIS WPG組中使用用戶託管的WCF服務?
我可以從遠程位置訪問該服務,可以看到WSDL爲好,但是當我試圖通過「WCF測試客戶端」訪問相同的服務,我得到了以下錯誤
更新:當我通過將AppPool的身份更改爲「網絡服務」組來運行相同的服務時,可以通過測試客戶端訪問服務。 因此,服務元數據只有在服務以「網絡服務」(這是用戶的默認身份)之外的身份運行時纔可訪問
我在過去遇到過這個問題,解決方案是使用服務進行身份驗證客戶端和託管該服務的服務器之間的帳戶。
我有同樣的問題,如上所述..這是我找到解決這個問題時所做的事情。
我將開始將WCF的部署過程傳遞給IIS6。
創建虛擬目錄後,右鍵單擊它,然後選擇屬性。下面是每個選項卡
虛擬目錄選項卡
單據選項卡
目錄安全性選項卡
ASP.Net標籤
現在,轉到計算機管理>系統工具>本地用戶和組>組
打開IIS_WPG組,並添加您的服務帳戶。
然後去開始>管理工具 - >本地安全策略
展開安全設置>本地策略>用戶權利指派。搜索作爲服務登錄,然後在那裏添加您的服務帳戶。
最後,轉到C:\ WINDOWS \ Temp文件夾。右鍵點擊它然後選擇屬性。點擊安全標籤,然後添加您的服務帳戶。
要設置特殊權限,請單擊高級按鈕。
選擇您的服務帳戶,然後點擊編輯按鈕。在權限列表中,勾選或選中「列出文件夾/讀取數據」和「刪除」權限。點擊確定並應用按鈕以應用更改。如果消息框提示您,請單擊是以應用於子文件夾中。
現在,最後一刻。確保應用程序池正在運行。在瀏覽器中測試WCF,然後在WCF Test客戶端中測試。
希望這將幫助你...
檢查這個問題的答案:HTTP ://stackoverflow.com/questions/5199541/failed-to-add-a-service-service-metadata-may-not-be-accessible-make-sure-your看來你的服務缺少它的元數據(mex)端點。 –
珊瑚,mex端點從未在服務配置中定義。問題稍有不同,只有服務在自定義用戶身份下運行時纔會發生,而不是「網絡服務」。 – Nexus23
自定義用戶標識對服務運行所需的所有文件擁有權限?包括來自wwwroot和證書的文件(如果你已經增加了安全性)? –