如果管理员用户注销,服务器上的Excel应用程序将不工作
我有一个ASP.NET应用程序,它使用Microsoft intrope程序集读取、写入和修改excel文件,并在服务器计算机上使用excel 2013。如果我以管理员身份登录到服务器计算机,应用程序工作正常,但当我注销时,应用程序无法初始化excel应用程序。这是个例外如果管理员用户注销,服务器上的Excel应用程序将不工作,excel,iis-7,windows-server-2008-r2,excel-interop,Excel,Iis 7,Windows Server 2008 R2,Excel Interop,我有一个ASP.NET应用程序,它使用Microsoft intrope程序集读取、写入和修改excel文件,并在服务器计算机上使用excel 2013。如果我以管理员身份登录到服务器计算机,应用程序工作正常,但当我注销时,应用程序无法初始化excel应用程序。这是个例外 System.Runtime.InteropServices.COMException (0x8000401A) 应用程序正在Windows Server 2008R2上运行,带有MS Excel 2013 32位。我无法找
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在此环境中运行时可能会出现不稳定行为和/或死锁。” 有关更多信息,请参阅本页: 如果仍要保留互操作服务,请尝试将其更改为以交互用户身份运行:
- 打开组件服务(开始->运行->MMC comexp.msc/32)
- 查找组件服务->计算机->我的计算机->DCOM配置->Microsoft Excel应用程序
- 单击鼠标右键,选择“属性”
- 转到“标识”选项卡并选择“交互式用户”
- 如果这不起作用,您可以尝试手动输入用户凭据
当然,您也可以切换到另一个框架来读取文件 从
2008r2
迁移到2012
后,我遇到了同样的问题。我的解决方案:
- 查找组件服务->计算机->我的计算机->DCOM配置->Microsoft Excel应用程序
- 单击鼠标右键,选择“属性”
- 转到“标识”选项卡并选择此用户(输入用户和密码)