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进程。
相关推荐:
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
MSSQL 删除数据库里某个用户所有表里的数据
Jquery 表单取值赋值的一些基本操作
JavaScript中Object和Function的关系小结
JS 截取字符串substr 和 substring方法的区别
JavaScript 组件之旅(二)编码实现和算法
jquery 插件开发方法小结
让你的网站可编辑的实现js代码
JavaScript 三种不同位置代码的写法
javascript 判断某年某月有多少天的实现代码 推荐
IE Firefox 使用自定义标签的区别
javascript 洒脱飘动的文字
初学js者对javascript面向对象的认识分析
Jquery 学习笔记(二)
javascript 线性渐变二
SQL 判断字段类型语句
通过身份证号得到出生日期和性别的js代码
jquery select选中的一个小问题
正则表达式高级技巧及实例详解 笨活儿
Jquery Ajax.ashx 高效分页实现代码
javascript 缓冲效果实现代码 推荐
oracle 在一个存储过程中调用另一个返回游标的存储过程
javascript 打印内容方法小结
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
写出更好的JavaScript之undefined篇(上)
javascript 面向对象编程 function是方法(函数)
css 有弹动效果的网页导航
asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
jquery (show,fadeOut,Animate)简单效果
Javascript 两个窗体之间传值实现代码
Asp.net treeview实现无限级树实现代码
SQLSERVER中union,cube,rollup,cumpute运算符使用说明
PHP 日常开发小技巧
火车采集器 免费版使出收费版本功能实现原理
js 获取中文拼音,Select自动匹配字母获取值的代码
javascript 面向对象编程 聊聊对象的事
AJAX 自学练习 请求与显示
将jQuery应用于login页面的问题及解决
IDC提升服务战略 掀年底选购热潮
Javascript 解疑
zend studio 快捷键收集
基于jQuery的日期选择控件
最常用的SQL语句
VBScript 算一算你从出生到现在共计多少天
ASP 常见的连接字符串写法(access2007)
var与Javascript变量隐式声明
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
javascript 常见的闭包问题的解决办法
表格 隔行换色升级版
CSS鼠标悬停菜单 图片交换技术实现