C#讀取Word文檔異常處理解析
C#讀取Word文檔是項目中要實現(xiàn)的一個功能,在服務器端打開一個Word模版文件,修改其內(nèi)容后再下載到客戶端使用,在Asp.net頁面中建立Microsoft.Office.Interop.Word.Application對象時出現(xiàn)“拒絕訪問”的錯誤,提示信息如下:
C#讀取Word文檔異常:拒絕訪問
說明: 執(zhí)行當前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.UnauthorizedAccessException: 拒絕訪問。
ASP.NET 未被授權訪問所請求的資源。請考慮授予 ASP.NET 請求標識訪問此資源的權限。ASP.NET 有一個在應用程序沒有模擬時使用的基進程標識(通常,在 IIS 5 上為 {MACHINE}\ASPNET,在 IIS 6 上為網(wǎng)絡服務)。
如果應用程序正在通過<identity impersonate="true"/>模擬,則標識將為匿名用戶(通常為 IUSR_MACHINENAME)或經(jīng)過身份驗證的請求用戶。
若要授予 ASP.NET 對文件的寫訪問權,請在資源管理器中右擊該文件,選擇“屬性”,然后選擇“安全”選項卡。單擊“添加”添加適當?shù)挠脩艋蚪M。突出顯示 ASP.NET 帳戶,選中所需訪問權限對應的框。
1、在命令行中輸入:dcomcnfg,會顯示出“組件服務”管理器
2、打開“組件服務->計算機->我的電腦->DCOM 配置”,找到“Microsoft Word文檔”,單擊右鍵,選擇“屬性”
3、在“屬性”對話框中單擊“安全”選項卡,在“啟動和激活權限”處選擇“自定義”,再單擊右邊的“編輯”,在彈出的對話框中添加“ASPNET”(在IIS6中是NETWORD SERVICE)用戶,給予“本地啟動”和“本地激活”的權限,單擊“確定
4、在“屬性”對話框中單擊“安全”選項卡,在“訪問權限”處選擇“自定義”,再單擊右邊的“編輯”,在彈出的對話框中添加“ASPNET”(在IIS6中是NETWORD SERVICE)用戶,給予“本地訪問”的權限,單擊“確定”,關閉“組件服務”管理器。
C#讀取Word文檔異常:消息篩選器顯示應用程序正在使用中
說明: 執(zhí)行當前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Runtime.InteropServices.COMException: 消息篩選器顯示應用程序正在使用中。
1、在命令行中輸入:dcomcnfg,會顯示出“組件服務”管理器
2、打開“組件服務->計算機->我的電腦->DCOM 配置”,找到“Microsoft Word文檔”,單擊右鍵,選擇“屬性”
3、在“屬性”對話框中單擊“標識”選項卡,選擇“交互式用戶””,關閉“組件服務”管理器。
修改好之后如果還不行,在 組件服務->計算機->我的電腦 上右鍵 "停止MS DTC"服務,然后再重啟就可以了
C#讀取Word文檔時的異常相關分析就向你介紹到這里,希望對你處理實際開發(fā)工作中的C#讀取Word文檔有所掌握。
【編輯推薦】