ActiveX в WebBrowser в WinForms сбой всего приложения - PullRequest
1 голос
/ 27 июля 2011

У меня есть приложение C # WinForms, которое имеет элемент управления WebBrowser, который загружает html-страницу, в которую встроен сторонний объект ActiveX, который воспроизводит видео IPTV.Active X поставляется Exterity.Я также попробовал элемент управления VLC ActiveX, который был еще более ненадежным, с теми же симптомами.Одинаковое поведение как на XP, так и на Win7.

Периодически выходит все приложение WinForms.Я уже обработал события ThreadException и UnhandledExcetion таким образом:

[STAThread]
static void Main(string[] args)
{
    //set up global exception handling
    Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

Эти события не срабатывают до выхода из приложения;и поверьте мне, они действительно работают, потому что они были на месте в течение нескольких лет, и много раз срабатывали, улавливая другие ошибки (например, соединение с базой данных тайм-аута) (после чего я перезапускаю все приложение)!Я не вижу записей в Windows Event View.Мой exe-процесс просто исчезает.

Я читаю на доменах приложений и задаюсь вопросом, могу ли я поместить элемент управления WebBrowser отдельно от основной программы / формы;Любой совет приветствуется.

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

1 Ответ

1 голос
/ 01 августа 2011

Попытка поймать и игнорировать нарушения прав доступа - это рецепт для введения повреждения памяти, которое может повредить данные или настройки вашего приложения. Было бы лучше выяснить , почему сбой элемента управления ActiveX (например, использовать WinDBG), и решить эту проблему.

...