天天看點

C#讀取WORD時發生“拒絕通路”及“消息篩選器顯示應用程式正在使用中”異常的處理

Asp.net中建立MS office元件時出現“拒絕通路”和“消息篩選器顯示應用程式正在使用中”錯誤的解決方法

Asp.net中建立Microsoft.Office.Interop.Word.Application時出現“拒絕通路”錯誤的解決方法

項目中要實作在伺服器端打開一個Word模版檔案,修改其内容後再下載下傳到用戶端使用,在Asp.net頁面中建立Microsoft.Office.Interop.Word.Application對象時出現“拒絕通路”的錯誤,提示資訊如下:

拒絕通路。

說明: 執行目前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤資訊,以了解有關該錯誤以及代碼中導緻錯誤的出處的詳細資訊。 

異常詳細資訊: System.UnauthorizedAccessException: 拒絕通路。 

ASP.NET 未被授權通路所請求的資源。請考慮授予 ASP.NET 請求辨別通路此資源的權限。ASP.NET 有一個在應用程式沒有模拟時使用的基程序辨別(通常,在 IIS 5 上為 {MACHINE}\ASPNET,在 IIS 6 上為網絡服務)。

如果應用程式正在通過<identity impersonate="true"/>模拟,則辨別将為匿名使用者(通常為 IUSR_MACHINENAME)或經過身份驗證的請求使用者。

若要授予 ASP.NET 對檔案的寫通路權,請在資料總管中右擊該檔案,選擇“屬性”,然後選擇“安全”頁籤。單擊“添加”添加适當的使用者或組。突出顯示 ASP.NET 帳戶,選中所需通路權限對應的框。

1、在指令行中輸入:dcomcnfg,會顯示出“元件服務”管理器 

2、打開“元件服務->計算機->我的電腦->DCOM 配置”,找到“Microsoft Word文檔”,單擊右鍵,選擇“屬性” 

3、在“屬性”對話框中單擊“安全”頁籤,在“啟動和激活權限”處選擇“自定義”,再單擊右邊的“編輯”,在彈出的對話框中添加“ASPNET”(在IIS6中是NETWORD SERVICE)使用者,給予“本地啟動”和“本地激活”的權限,單擊“确定

4、在“屬性”對話框中單擊“安全”頁籤,在“通路權限”處選擇“自定義”,再單擊右邊的“編輯”,在彈出的對話框中添加“ASPNET”(在IIS6中是NETWORD SERVICE)使用者,給予“本地通路”的權限,單擊“确定”,關閉“元件服務”管理器。

消息篩選器顯示應用程式正在使用中。  

說明: 執行目前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤資訊,以了解有關該錯誤以及代碼中導緻錯誤的出處的詳細資訊。  

異常詳細資訊: System.Runtime.InteropServices.COMException: 消息篩選器顯示應用程式正在使用中。

2、打開“元件服務->計算機->我的電腦->DCOM 配置”,找到“Microsoft Word文檔”,單擊右鍵,選擇“屬性”

3、在“屬性”對話框中單擊“辨別”頁籤,選擇“互動式使用者””,關閉“元件服務”管理器。

修改好之後如果還不行,在 元件服務->計算機->我的電腦 上右鍵 "停止MS DTC"服務,然後再重新開機就可以了

    本文轉自永春部落格園部落格,原文連結:<b>http://www.cnblogs.com/firstyi/archive/2008/08/27/1277307.html</b>,如需轉載請自行聯系原作者

繼續閱讀