最大数量的Excel进程?

如果我这样做(例如)

for (int i=0;i<22;i++) { var app = new Excel.Application(); } 

然后创build22个excel进程。

但是,如果我这样做

  for (int i=0;i<25;i++) { var app = new Excel.Application(); } 

它创build了22个excel过程,但是其中大部分消失了,只剩下一些。

是否有22或什么的限制? 这可以增加吗?

谢谢!

编辑:用下面的代码它不会发生:

  var apps = new List<Application>(); for (int i=0;i<25;i++) { apps.Add(new Application()); } 

垃圾收集踢在…下面的代码,它的工作原理:

  var apps = new List<Application>(); for (int i=0;i<25;i++) { apps.Add(new Application()); } 

我记得Raymond Chen的一篇文章。 如果你为特定的机器加载了太多相同的进程,操作系统就会把你切断。 每台机器都不一样(因为它是基于机器性能的)。

但是,我不认为25是一个限制。 这似乎太小,即使是旧的机器。 是否有任何文件引用来自相同文件的数据,导致其中一些文件过早closures,因为另一个Excel实例正在locking文件?

我需要更多的信息来找出实际发生的事情。