我有一個C#WinForms應用程序,具有WebBrowser控件,它加載在其中嵌入第三方ActiveX對象,發揮IPTV視頻的HTML網頁。由Exterity提供的Active X。我也嘗試過VLC ActiveX控件,它更加不可靠,並且有相同的症狀。在XP和Win7上都有相同的行爲。ActiveX控件在web瀏覽器中的WinForms崩潰整個應用程序
間歇整個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事件視圖中看不到任何條目。我的exe過程就消失了。
我一直在閱讀了關於應用程序域,並想知道我是否可以把WebBrowser控件在一個單獨的一個主程序/表;任何建議讚賞。
還是有其他的方法,我可以處理,我推測是,這是所有的方式去未處理的頂端,此時進程退出異常。
如果我能趕上訪問衝突,我會很高興地重新啓動與Application.Restart()整個應用程序。我希望這會讓我擺脫那次會議上進一步的記憶腐敗;這可能會導致永久性的重新啓動,但是這比整個過程退出更好。 (乾杯的偉大fiddler2!) – Russell
我提供的WinDBG日誌到ActiveX對象的開發商,他們正在「尋找到它」。 :-) – Russell