gpt4 book ai didi

如果管理员用户注销,服务器上的 Excel 应用程序将无法工作

转载 作者:行者123 更新时间:2023-12-03 02:02:50 25 4
gpt4 key购买 nike

我有一个 ASP.NET 应用程序,它使用 Microsoft intrope 程序集来读取、写入和修改 excel 文件,并在服务器计算机上使用 Excel 2013。如果我以管理员身份登录到服务器计算机,应用程序工作正常,但当我注销时,应用程序无法初始化 Excel 应用程序。这是一个异常(exception)。

System.Runtime.InteropServices.COMException (0x8000401A)

应用程序正在 Windows Server 2008R2 和 MS Excel 2013 32 位上运行,我无法找出此行为的原因。这是关于 COM 对象安全选项还是与 IIS 权限有关?

最佳答案

InteropServices 类打开一个(不可见的)Excel 实例来完成其工作。 Excel 无法作为 Windows 服务运行,需要由登录用户实例化。

“Microsoft 目前不建议也不支持从任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)实现 Microsoft Office 应用程序的自动化,因为当 Office 在此环境中运行时,Office 可能会表现出不稳定的行为和/或死锁。”请参阅此页面了解更多信息:Office support: Considerations for server-side Automation of Office

如果您仍想保留互操作服务,请尝试将其更改为以交互用户身份运行:

  • 打开组件服务(开始 -> 运行 -> MMC comexp.msc/32)
  • 查找组件服务 -> 计算机 -> 我的电脑 -> DCOM 配置 -> Microsoft Excel 应用程序
  • 右键单击,选择属性
  • 转到“身份”选项卡并选择“交互式用户”
  • 如果这不起作用,您可以尝试手动输入用户凭据

当然,你也可以切换到其他框架来读取文件。 SO: How to read an excel file in C# without using Microsoft.Office.Interop.Excel libraries

关于如果管理员用户注销,服务器上的 Excel 应用程序将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com