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