|
|
|
|
|
今天我的asp.net應用程序在生產(chǎn)word文件時報錯,只因為在服務器安裝了一個看似毫無關(guān)聯(lián)的軟件。提示錯誤信息如下:
“/”應用程序中的服務器錯誤。
檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 800703fa。
說明: 執(zhí)行當前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Runtime.InteropServices.COMException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 800703fa。
源錯誤:
執(zhí)行當前 Web 請求期間生成了未處理的異常??梢允褂孟旅娴漠惓6褩8櫺畔⒋_定有關(guān)異常原因和發(fā)生位置的信息。
堆棧跟蹤:
[COMException (0x800703fa): 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 800703fa。]
makeDoc.OpenTempelte(String strTemppath, String strLogMakeDocPath) +55
makeDoc.Page_Load(Object sender, EventArgs e) +4069
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627版本信息: Microsoft .NET Framework 版本:2.0.50727.8000; ASP.NET 版本:2.0.50727.8001
經(jīng)查詢,該問題出現(xiàn)的原因是:
Windows自動關(guān)閉應用程序保持打開的用戶配置文件的任何注冊表句柄。這會導致錯誤800703fa。
解決方法:
打開IIS管理器,為Web應用程序選擇應用程序池,然后單擊高級設置,將“加載用戶配置文件”的值更改為“true”
設置此值會使IIS加載應用程序池標識的用戶配置文件。
Microsoft官方解釋 800703fa 錯誤
此問題通常發(fā)生在管理員使用服務帳戶登錄到服務器進行交互式會話,然后注銷之后。例如,管理員可以使用場帳戶登錄到 Web 前端 (WFE) 服務器,然后注銷。此活動強制在該帳戶的配置文件中卸載注冊表項。這種情況使密鑰無法供將來使用。
若要解決此問題,請使用下列方法之一。
不要使用服務帳戶登錄服務器進行交互式會話。
禁用相關(guān)的 Windows 用戶配置文件服務功能。為此,請按照下列步驟操作:
相關(guān)文章