我正在使用 IIS 7.5 在 Windows 7 64 位上运行 C# ASP.NET 4.5 Web 应用程序。它使用的应用程序池名称为“ASP.NET v4.0”,其标识为 ApplicationPoolIdentity。该应用程序使用 MS Office Interop(Microsoft Excel 14.0 对象库)。
在 line wBook = wBooks.Add(Missing.Value);
,它会引发以下错误:
Microsoft Excel 无法打开或保存更多文档,因为没有足够的可用内存或磁盘空间。
u2022 要提供更多可用内存,请关闭不再需要的工作簿或程序。
u2022 要释放磁盘空间,请从要保存到的磁盘中删除不再需要的文件。:在 Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template)
1) 我让帐户 IIS apppool\ASP.NET v4.0 完全控制 DCOM 配置中的 MS Excel 应用程序。
2) 我让 IIS apppool\ASP.NET v4.0 完全控制 'C:\Windows\SysWOW64\config\systemprofile' 并在其中创建了一个桌面文件夹。
3) 虽然不推荐,但我需要继续使用 Interop。
4) 该应用程序在 Windows Server 2003/Windows XP 32 位上运行良好。
5)机器上安装了MS Office 2010(64位,试用版)。
6) 我不希望更改应用程序。从 ApplicationPoolIdentity 到网络服务等的池标识。 ApplicationPoolIdentity 是 IIS 7 中的新型标识,建议使用。
如果我在 DCOM Config 中选择“交互式用户”(我以管理员身份登录),它工作正常,但它会导致其他问题。我需要使用 ASP.NET v4.0 的“启动用户”。所以看起来这是一个权限问题。
请帮忙。谢谢你。