我们维护一个Web应用程序,该应用程序基本上是一组设置为在IIS 6.2上运行的COM经典页面(通过自制框架,以避免代码重复和过多的实例创建)加载COM对象:
Dim stuffer: Set stuffer= CreateObject("StuffUtils.Stuffer")
Dim this: this= "this param"
Dim this: that= "this param"
stuffer.process this, that ' "Out of Memory" error occurs here
StuffUtils是一个具有COM互操作性的自制.NET DLL,它依赖于3个庞大的DLL(已购买)的集合:a.dll(11M),b.dll(22M),c.dll(11M)。上面的电话是:
page.asp --> stuffer.stuff() --> c.dll calls and instantiations
调用stuffer.process()
失败,并且出现消息Out of memory
,但仅对于一种IIS安装(当然,是客户端的安装,这是相当不可行的)和一种特定情况(!) 。对我们来说很好。另外,如果从命令行应用程序调用了dll,则即使在客户端服务器上(在CMD窗口中),它也会运行文件。
我猜该错误消息可能与那些巨大的DLL的加载有关,但是该错误发生在方法调用而不是服务器组件创建时。我是否错过了IIS配置中的条目?