Ошибка «Недостаточно памяти» при вызове метода COM-объекта на классической странице ASP - PullRequest
1 голос
/ 27 июня 2019

Мы поддерживаем веб-приложение, которое в основном представляет собой набор ASP Classic страниц, загружающих COM-объекты (через самодельную среду, чтобы избежать дублирования кода и создания избыточных экземпляров), работающее на IIS 6.2:

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 - это самодельная библиотека .NET DLL с возможностью взаимодействия с COM, основанная на наборе из 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...