如果我这样做(例如)
for (int i=0;i<22;i++)
{
var app = new Excel.Application();
}
然后创建了22个excel进程。
然而,如果我这样做
for (int i=0;i<25;i++)
{
var app = new Excel.Application();
}
它创建了22个excel进程,但是其中大部分都消失了,只留下了几个。
是否有22或者什么的限制?这可以增加吗?
谢谢!
编辑:使用以下代码不会发生:
var apps = new List<Application>();
for (int i=0;i<25;i++)
{
apps.Add(new Application());
}
答案 0 :(得分:2)
垃圾收集开始......使用以下代码,它可以工作:
var apps = new List<Application>();
for (int i=0;i<25;i++)
{
apps.Add(new Application());
}
答案 1 :(得分:0)
我记得Raymond Chen的一篇文章。如果您为特定机器加载了太多相同的进程,操作系统会将您切断。每台机器都有所不同(因为它取决于机器的性能)。
然而,我不能将25视为限制。这似乎有点太小,即使对于旧机器也是如此。您的任何文件是否引用了来自相同文件的数据,导致其中一些文件过早关闭,因为另一个Excel实例正在锁定该文件?
我需要更多信息才能找出实际情况。