当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET操作Word的IIS权限设置

ASP.NET操作Word的IIS权限设置

2017年12月12日  | 移动技术网IT编程  | 我要评论

综琼瑶之组团刷刷刷,暴频道,儿子妈妈今天满足你

asp.net账号在默认情况下是没有权限操作microsoft office对象的,如果不进行权限的配置,代码会抛出类似以下的异常:

检索 com 类工厂中 clsid 为 {00024500-0000-0000-c000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

这样给asp.net操作microsoft office对象带来了一定的困难。但我们还是要想办法来进行office对象的操作。下面简单介绍一下本人在开发过程中曾经使用过的方法:

  方法1:配置web.config文件,在每次请求时模拟本地系统的账户。

  具体操作:在web.config文件中添加如下节点:

  <identity impersonate="true" username="accountname" password="password" />
  其中:username是要模拟的本地账号,password是该账号的密码。

  方法2:在“dcom配置”中,为iis账号配置操作word(其他office对象也一样)的权限。

具体操作:“组件服务(component service)”->计算机(computers)->我的电脑(my computer)->dcom配置(dcom config)->microsoft office word 97 - 2003 文档,右击“microsoft office word 97 - 2003 文档”,选择“属性”进行一下两步操作:

  (1)在【标识(identity)】选项卡中选中“交互式用户(the interactive user)”.

  (2)在【安全(security)】选项卡中,分别给前两个组(启动和激活权限,访问权限)选择“自定义(customer)”,然后点“编辑”,在弹出的界面中添加iis账号(server版的操作系统一般为network services,其他系统(xp)可能会是asp.net),并在下面的权限框中,给该用户分配所有权限。

  方法3:为asp.net站点应用池分配本地账号

具体操作:在iis中,为asp.net站点创建新的应用程序池,再改应用程序池属性的【标识(identity)】选项卡中,为“预定义账户”选择“本地系统(localsystem)”。

  如果是iis7.0中,则按以下步骤操作:为asp.net站点创建新的应用程序池。选中该应用程序池,高级设置->进程模式—>标识:选择localsystem。

以上三种方法中,个人比较喜欢用第三种,因为在操作完word对象后,还需要关闭word对象的进程,而第三种方法可以不要其他设置就能让asp.net应用程序有权限去结束这个word进程。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网