IIS运行Word Interop时出现未经授权的异常
本文关键字:授权 异常 运行 Word Interop IIS | 更新日期: 2023-09-27 17:59:21
我遇到了一个非常严重的问题。我写了一个应用程序,使用Office.word.interop(Microsoft.Office.interop.word.dll)为客户进行编程邮件合并。一切都很好。然后客户想要在一个网站中使用相同的功能,结果一切都走下坡路了。我在一个网站上包含了我的代码,一切都在调试模式下运行,但当我发布它并在IIS下运行时,我不断收到错误:
正在检索CLSID为的组件的COM类工厂{000209FF-0000-0000-C000-000000000046}由于以下原因而失败错误:80070005。
当我在谷歌上搜索时,我不断收到使用组件服务更改安全设置以包括IIS用户的建议。在我的2003服务器上,我几乎给了每个人所有的权限,但没有得到任何结果。在我的Windows7盒子上,如果没有"控制注册表项",我甚至无法编辑安全性。这似乎根本不值得研究。
还有希望吗?
我不认为Office在web服务器上使用是线程安全的(甚至是许可的)——即使你让它一次为一个用户工作,我怀疑一旦你将它扩展到多个并发用户,你是否会获得无故障的操作。
请检查您的Microsoft Office软件包上的EULA,您可能会发现它未获得此用途的许可(或者不支持此用途)。有用于服务器端文档合成的商业.net库,我建议您使用其中一个专门构建的库,而不是尝试进行Office互操作(在任何情况下都非常缓慢)。