Взаимодействующее с COM уважение.NET границы AppDomain для загрузки блока?

Я думаю, что я исправил проблему, я обернул каждую строку в div:

function format(str) {
    output.innerHTML = format_ansi(str).split(/\n/).map(function(line) {
        return '
' + line + '
'; }).join('') }

и добавил это css:

div {
    max-height: 1em;
}

https: // codepen.io/jcubic/pen/ZVdJOd

8
задан Peter Mortensen 17 March 2010 в 22:08
поделиться

2 ответа

К сожалению, компонент COM загружается в пространстве процесса, а не в контексте домена приложения. Таким образом, вам нужно будет вручную удалить (освободить и выгрузить) ваши собственные библиотеки DLL (относится как к COM, так и к P / Invoke). Простое уничтожение домена приложения не принесет вам пользы, но повторное создание всего процесса не должно быть необходимым для сброса состояния COM (простое воссоздание COM-объекта (ов) также должно нормально работать, это звучит как ошибка в коде поставщиков компонентов, возможно они могут решить эту проблему?)

Ссылки

(TechNet) Адресное пространство процесса

(MSDN) Домены приложений

(MSDN) Границы: процессы и домены приложений

16
ответ дан 5 December 2019 в 09:26
поделиться

Не делайте свой Контроллер MBR. Создайте маленький прокси, который загружает Контроллер во втором домене и запускает его. Тем путем Контроллер dll не будет загружен в первом домене.

0
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

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