我正在使用IIS7.5的64位Windows7上运行C# ASP.NET 4.5 web应用程序。它使用的应用程序池的名称为'ASP.NET v4.0‘,其标识为ApplicationPoolIdentity。该应用程序使用MS Office Interop (Microsoft Excel 14.0对象库)。
在wBook = wBooks.Add(Missing.Value);
行,它抛出以下错误:
Microsoft Excel无法打开或保存更多文档,因为没有足够的可用内存或磁盘空间。
u2022若要释放更多内存,请关闭不再需要的工作簿或程序。
模板要释放磁盘空间,请从要保存的磁盘中删除不再需要的文件。例如: at Microsoft.Office.Interop.Excel.Workbooks.Add(Object u2022 )
1)我在apppool\ASP.NET配置中给了帐户IIS v4.0对MS Excel应用程序的完全控制权。
2)我给了IIS v4.0对‘C:\Windows\SysWOW64\ apppool\ASP.NET \systemprofile’的完全控制权,并在其中创建了一个桌面文件夹。
3)我需要继续使用Interop,尽管不推荐这样做。
4)该应用程序在Windows Server 2003/Windows XP 32位上运行良好。
5)机器上安装了MS Office 2010 (64位试用版)。
6)我不想更改应用程序。从ApplicationPoolIdentity到网络服务等的池标识。ApplicationPoolIdentity是IIS7中的新标识类型,建议使用它。
如果我在DCOM Config中选择“Interactive User”(我已经以管理员身份登录),它工作得很好,但它会导致其他问题。我需要使用‘启动用户’,它是ASP.NET v4.0。所以这看起来像是一个权限问题。
请帮帮忙。谢谢。
https://stackoverflow.com/questions/12415690
复制相似问题