【发布时间】:2018-02-20 21:45:30
【问题描述】:
我正在使用 Microsoft.Office.Interop.Word 在 ASP.NET Web 应用程序中从 C# 打开 word 文档并以编程方式替换一些书签。我使用 Windows 身份验证进行自动登录。从视觉工作室运行时它工作得很好。但是,在发布它之后,当应用程序尝试打开 word 文档时,我收到拒绝访问错误。这是我得到的错误。
检索 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80070005 访问被拒绝。 (HRESULT 异常:0x80070005 (E_ACCESSDENIED))
我尝试了所有通过 Internet 发布的解决方案,例如(更改 DCOMCNFG 中 word 的权限、授予文件夹的读/写完全控制权等。由于我使用 Windows 身份验证,还有其他解决方案吗?或者我要去哪里错了?请帮忙。
提前致谢
【问题讨论】:
-
不要在 ASP.NET 中使用 Office 互操作库。您将遇到各种难以诊断的奇怪错误,速度会很慢,而且您的 Office 副本可能未获得在服务器上运行的许可。微软says don't do it。相反,请使用原生 .NET 库,例如 Open XML SDK 或 DocX。
-
如果我们使用 DocX,我们可以在文档页脚中查找和替换单词吗?有什么想法吗?
标签: c# asp.net .net c#-4.0 iis-7.5