Как я получаю текущий экземпляр от AppDomain?

Я использую значение по умолчанию appdomain (AD), который я использую для создания нового appdomains (AD1) при необходимости для рабочих плагинов в изоляции. При создании нового домена я также обеспечиваю электричеством событие AppDomainUnload, чтобы позволить мне звонить, очищают код и т.д.

Проблема, которую я, кажется, имею:

1) Создайте AD1 из AD

2) Выполненный код в AD1

3) Назовите AD.Unload (AD1)

Кодовые коммутаторы к AD1 и вызовам разгружающаяся передача события в ссылке на текущий AppDomain (AD1).

В этой точке я хотел бы заставить ссылку на текущий экземпляр, работающий в AD1 называть метод завершения работы однако на классе AppDomain нет никакого GetInstance.

Какие-либо идеи, как я могу пойти о получении его?

1
задан Spanners 28 August 2010 в 00:48
поделиться

2 ответа

Когда вы создаете экземпляр в AD1, вы можете либо сохранить экземпляр в статической переменной в AppDoman, статика привязана к AppDomain. В качестве альтернативы, если это не объект одноэлементного типа, вы можете поддерживать List <> объектов в AppDomain.

Вы можете поместить эту «регистрацию» в конструктор вашего экземпляра плагина. При обработке Unload вы можете использовать либо статический список, либо перечислить список и выполнить необходимую очистку объекта (ов).

1
ответ дан 3 September 2019 в 00:39
поделиться

Вы ищете AppDomain.CurrentDomain?

1
ответ дан 3 September 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: