2013-10-01 80 views
0

我有控制檯應用程序,它將嘗試訪問安裝在IIS(即虛擬目錄)中的應用程序以獲取數據庫連接信息。在windows xp(IIS 5.1)中執行此操作時,它正在運行,但它在Windows 7(IIS 7.5)中不起作用。控制檯應用程序的Target .Net框架是2.0,3.5(有5個應用程序),因爲它是在幾年前開發的。現在試圖從XP移到Win 7,但面臨訪問IIS文件夾的一些問題。 請建議訪問win 7中的虛擬目錄文件夾。任何代碼示例都會有所幫助。從控制檯應用程序訪問虛擬目錄

* 錯誤: * System.Runtime.InteropServices.COMException(0x80070005):訪問被拒絕。

回答

1

查看您用於訪問虛擬目錄的代碼片段,但在更改代碼之前,檢查問題是否歸因於安全權限會很有用。如果您嘗試訪問與Windows 7中的虛擬目錄相關聯的物理目錄,則可能會在沒有足夠權限的情況下運行您的控制檯應用程序。請嘗試使用管理權限運行它。

檢查您的代碼後,我看到您正在使用目錄服務訪問IIS 7,因此請確保已在該計算機上安裝了IIS Metabase和IIS 6配置兼容性。在Windows 7中,您可以在控制面板 - >程序 - >程序和功能 - >關閉Windows功能,然後轉到Internet信息服務 - > Web管理工具 - > IIS 6管理兼容性中找到它。您需要啓用IIS元數據庫的檢查和IIS 6配置兼容性

儘管如此,建議的方式來訪問和管理代碼IIS 7是使用IIS管理API可通過Microsoft.Web。管理庫。你可以看看一個例子說明如何執行你的以下問題需要完成相同的任務:

How to get the IIS virtual dir & web application's physical paths with C# code?

+0

我已經發布我的代碼被用於訪問虛擬目錄。適用於XP(IIS 5.1),但不能贏得7臺機器(IIS 7.5)。 對不起,代碼在發佈後變得笨拙。 –

+0

我也嘗試使用管理權限運行,但在嘗試從IIS虛擬目錄中獲取連接參數時仍然出現相同的錯誤。請告知 –

+0

請檢查您的代碼後查看編輯後的答案。 HTH –

相關問題