2011-03-09 43 views
0

我在IIS 7(Win 2008 64位)下創建遠程DCOM對象時遇到問題。在服務器端,存在使用舊的DCOM組件作爲數據源的WCF服務。在Web開發服務器和測試中一切正常,但在IIS 7下創建遠程對象失敗,使用「System.UnauthorizedAccessException:從CLSID {DAF3140A-C132-11D2-85FB-004033D061E9}中檢索遠程組件的COM類工廠機器IP由於以下錯誤而失敗: IP「。在IIS 7下使用System.UnauthorizedAccessException創建遠程DCOM對象失敗

我知道有很多關於80070005錯誤的文章,但我已經試過了一切 - 沒有成功。

這裏是代碼片段如何DCOM對象被創建:

Type objBlType = Type.GetTypeFromProgID("NetCatService.CatalogServer.1", netCatServerAddress, true); 
instance = Activator.CreateInstance(objBlType); 

我授予「每個人」使用DCOM配置DCOM我對象的訪問,我已經試過配置IIS應用程序池使用網絡服務帳戶也授予「網絡服務」訪問DCOM - 沒有運氣。我用Procmon工具來找出其他資源,但沒有什麼有趣的。

我已經添加在web.config文件中的以下行,也沒有成功

<system.web> 
    <trust level="Full" /> 
    <identity impersonate="true" password="pass" userName="userName" /> 
</system.web> 

能否請你幫我解決這個問題?有任何想法嗎?

感謝

回答

1

我已經解決了這個問題;

問題出在DCOM安全配置中,我創建了一個Windows服務來託管我的應用程序,並得到了同樣的錯誤:「UnauthorizedAccessException」。這是一種「思考的食物」。

之後,我已經做了以下步驟:

1)配置DCOM安全設置在服務器端使用域帳戶。

2)配置DCOM安全設置以使用客戶端上的步驟1中的域帳戶。

3)在Windows服務更改登錄以下設置,使用域帳戶從步驟1

4)檢查DCOM身份驗證級別在客戶端和服務器端的DCOM安全設置都。認證級別應該相同。

要獲得在IIS 7中運行的應用程序我創建了一個應用程序池,並配置它從步驟1

+0

我有一個類似的問題,使用域帳戶,但我不完全理解你的解決方案。我有一個在IIS 7.5上運行的ASP.NET網站。我將所有DCOM訪問權限和啓動/激活權限設置爲「允許」所使用的應用程序池的標識,但問題依然存在。我錯過了什麼? – jkokorian 2012-02-08 09:45:25

+0

已經解決了。我設置了一個額外的允許我試圖調用的DCOM服務的所有權限。謝謝你的時間。 – jkokorian 2012-02-08 09:51:34