请大侠门看看--【关于在服务端创建Office Word文档对象报错的问题】

科技互联人生 2005-10-14 03:32:13
问题是这样的:

应用中需要处理Word文档,我采用Office的组件 nterop.word.dll

using Word;
创建生成Word,可是在自己机子上调试总报错 :【拒绝访问。】

首先程序是绝对正确,因为我将其发布到另外的机子上,运行OK。
我认为是IIS权限设置的问题,没有授予服务器端访问Office程序组件的权限,
可是不知道怎么开启这个授权(我的是IIS5)
问题比较急迫,有劳各位有遇到这样情况的仁兄发表点意见,不够分再加就是,顶也有分哦~

相关错误信息如下:

===============================================================================

拒绝访问。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:


行 12: public DealWordFile()
行 13: {
行 14: oWord = new ApplicationClass(); ///出错的地方
行 15: //oWord = new Word.Application();
行 16: oWord.Visible = false;


源文件: d:\app\ehrnew\common\dealwordfile.cs 行: 14

堆栈跟踪:


[UnauthorizedAccessException: 拒绝访问。]
eHrnew.Common.DealWordFile..ctor() in d:\app\ehrnew\common\dealwordfile.cs:14
eHrnew.HRArea.HRZZCL.ButtonFinished_Click(Object sender, EventArgs e) in D:\app\eHrNew\HRArea\HRZZCL.aspx.cs:139
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277

===============================================================================

Thanks~
...全文
153 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
科技互联人生 2005-10-24
  • 打赏
  • 举报
回复
问题已经解决,谢谢 lilian_bu
总结下,一般在ASP.NET 中会有执行外部进程的权限限制,默认是不允许打开比如
Office这样的进程(在ASP默认帐户下)。
所以需要在Web.config中进行相应的权限配置,才能放开相应权限。
有必要还需赋予相关系统帐户信息,采用管理员权限去运行相关程序~
lilian_bu 2005-10-14
  • 打赏
  • 举报
回复
要在web.config中加一句<identity impersonate="true"/>即可,我也遇到这个问题,已经用这个方法解决了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧