我使用Windows XP_SP_3和IIS 5(本地主機),建立網站與ASP.NET4,並使用此代碼:檢索COM類工廠CLSID組件{000209FF-0000-0000-C000-000000000046}
Application appClass = new Application();
Document wordDoc = appClass.Documents.Add(Server.MapPath("~") + @"Files\tmp.docx");
wordDoc.SaveAs(@"e:\hp\Files\" + TextBox1.Text + ".docx");
wordDoc.Close();
如果用VS2010運行網站,那就OK。但如果與IIS 5(本地主機)上運行,顯示此錯誤:
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
我打開組件服務>計算機>右鍵點擊我的電腦>選擇屬性> COM Sucrity>啓動和激活... >編輯默認值>添加>高級>
我找不到用戶IIS(IIS_IUSRS)。所以選擇ASP.NET和確定並檢查本地啓動&遠程啓動&本地激活&遠程激活。
rest系統再次運行iis5站點。但再次顯示錯誤!
你處於死路一條。 http://support.microsoft.com/kb/257757 –