Достижение надежности приложений с помощью System.AddIn и изоляции процессов - PullRequest
5 голосов
/ 01 мая 2011

Я много читал о System.AddIn (a.k.a. Managed Add-in Framework). Он позволяет активировать надстройки в разных режимах изоляции, включая отдельные домены приложений или отдельные процессы.

Большинство статей, которые я обнаружил, намекают на то, что изоляция процесса может использоваться для достижения надежности приложения, когда надстройка может аварийно завершить работу с необработанным исключением, но приложение не будет аварийно завершать работу и может выгружать нарушающее надстройку и продолжай.

Мне еще предстоит найти статью, в которой на самом деле объясняется, как это сделать. Я пытался выяснить методом проб и ошибок, но пока что со всем, что я пробовал, хост-приложение вылетает, если надстройка выдает необработанное исключение. У меня каждая надстройка работает в своем собственном процессе, но, похоже, есть еще кусочки головоломки, которые я не понимаю.

Можно ли использовать System.AddIn для создания хоста, который может пережить необработанное исключение в одной из его надстроек? Есть ли примеры кода или статьи, где это прописано? Если это невозможно с System.AddIn, есть ли другая архитектура, которая допускает это в приложении .NET?

1 Ответ

0 голосов
/ 01 мая 2011

Вы нашли эту статью?

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

...