关于C#操作word 报错的解决方法

来源:互联网 发布:淘宝护肤品店铺名 编辑:程序博客网 时间:2024/05/21 21:49

“/SiteServer”应用程序中的服务器错误。 检索 COM 类工厂中 CLSID 为
{000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误:
80070005。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息:
System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为
{000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误:
80070005。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为
{MACHINE}/ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity
impers/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属
性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示
ASP.NET 帐户,选中所需访问权限对应的框。 源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪: [UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为
{000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误:
80070005。]  l5.a(String A_0) +39
SiteServer.BackgroundPages.BackgroundContentAdd.Page_Load(Object sender,
EventArgs E) +706  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr
fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,
EventArgs e) +34  System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint) +1061
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

解决方法:

确保导入WORD功能可用需要作如下设置:第一步,在系统根目录下找到web.config,我们要对这个文件做一下修改,将<identity impersonate="true" />这段代码插入到</system.web>前面; 第二
步,在IIS中找到您的网站,右键点击属性,在目录安全性中找到匿名访问使用的帐户,把该帐户名称记下来; 第三部,找到系统文件夹,给第二步中的那个帐户赋予一个能访问这个
文件夹的权限; 第四步,设置完毕。

这样就OK了。

终于找到了解决方法。

不明白的给我发邮箱lifiaa@163.com

原创粉丝点击