关闭 RDP 连接后,Asp.net 项目不调用 visio 应用程序

问题描述 投票:0回答:1

我创建了一个 Asp.Net Web 应用程序,它使用 Microsoft Visio 应用程序来执行某些功能。我还在服务器上安装了 Microsoft Visio 2019。为了实现此功能,我使用了 Microsoft Office Interop Visio 库。一切都在我的本地计算机上完美运行,但是,当我尝试部署它时,我遇到了权限问题,随后出现了错误消息。

根据微软论坛提供的建议,我尝试了以下解决方案:

  1. 打开DCOMCNFG,右键单击我的电脑,选择属性。

  2. 转到 COM 证券选项卡。

  3. 将“IIS_IUSRS”添加到访问权限并提供完全权限。

  4. 将“IIS_IUSRS”添加到启动和激活权限并提供完全权限。

  5. 在“身份”选项卡中将用户更改为交互式用户(仅当我登录到服务器时才有效)。

  6. 使用“此用户”和管理员帐户凭据,但是,这不起作用并导致 RPC 失败错误消息。

  7. 即使用户从远程连接注销,问题仍然存在。

  8. 有时,我还会收到以下错误消息:

    由于以下错误,检索 CLSID 为 {00021A20-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:8000401a 由于配置的标识不正确,因此无法启动服务器进程。检查用户名和密码。 (HRESULT 异常:0x8000401A)

我尝试将网络服务用户、所有人、匿名用户等添加到安全选项卡,但无济于事。

c# iis visio
1个回答
0
投票

Microsoft 不推荐也不支持 Office 的服务器端自动化。为了避免性能和稳定性问题并确保遵守软件许可协议,Microsoft 建议开发人员在服务器端使用其他合适的工具和技术,例如 Open XML SDK,而不是直接依赖 Office 的服务器端自动化。

请注意,与 Word DocumentFormat.OpenXml.Wordprocessing 或 Excel DocumentFormat.OpenXml.Spreadsheet 不同,Visio 不存在专门的 OpenXml 包(库)。这意味着,您基本上需要使用纯 xml。

微软有一篇关于此的文章:

https://learn.microsoft.com/en-us/office/client-developer/visio/how-to-manipulate-the-visio-file-format-programmatically

© www.soinside.com 2019 - 2024. All rights reserved.