【发布时间】:2011-07-27 13:56:22
【问题描述】:
我有一个 C# WinForms 应用程序,它有一个 WebBrowser 控件,它加载一个嵌入了第 3 方 ActiveX 对象的 html 页面,该对象可以播放 IPTV 视频。 Exterity 提供的 Active X。我也尝试过 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 事件视图中看不到任何条目。我的 exe 进程就消失了。
我一直在阅读 AppDomains,想知道是否可以将 WebBrowser 控件放在主程序/表单的单独控件中;任何建议表示赞赏。
或者还有其他我可以处理的方法,我认为是,一个异常一直未处理到顶部,此时进程退出。
【问题讨论】:
标签: winforms exception-handling activex webbrowser-control