App.xaml.cs
上传用户:lvyingde
上传日期:2018-04-24
资源大小:610k
文件大小:2k
源码类别:

SilverLight

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Documents;
  8. using System.Windows.Input;
  9. using System.Windows.Media;
  10. using System.Windows.Media.Animation;
  11. using System.Windows.Shapes;
  12. namespace wxwinter.WFDesignerSl
  13. {
  14.     public partial class App : Application
  15.     {
  16.         public App()
  17.         {
  18.             this.Startup += this.Application_Startup;
  19.             this.Exit += this.Application_Exit;
  20.             this.UnhandledException += this.Application_UnhandledException;
  21.             InitializeComponent();
  22.         }
  23.         private void Application_Startup(object sender, StartupEventArgs e)
  24.         {
  25.             this.RootVisual = new Page();
  26.         }
  27.         private void Application_Exit(object sender, EventArgs e)
  28.         {
  29.         }
  30.         private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
  31.         {
  32.             // 如果应用程序是在调试器外运行的,则使用浏览器的
  33.             // 异常机制报告该异常。在 IE 上,将在状态栏中用一个 
  34.             // 黄色警报图标来显示该异常,而 Firefox 则会显示一个脚本错误。
  35.             if (!System.Diagnostics.Debugger.IsAttached)
  36.             {
  37.                 // 注意: 这使应用程序可以在已引发异常但尚未处理该异常的情况下
  38.                 // 继续运行。 
  39.                 // 对于生产应用程序,此错误处理应替换为向网站报告错误
  40.                 // 并停止应用程序。
  41.                 e.Handled = true;
  42.                 Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
  43.             }
  44.         }
  45.         private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
  46.         {
  47.             try
  48.             {
  49.                 string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
  50.                 errorMsg = errorMsg.Replace('"', ''').Replace("rn", @"n");
  51.                 System.Windows.Browser.HtmlPage.Window.Eval("throw new Error("Unhandled Error in Silverlight 2 Application " + errorMsg + "");");
  52.             }
  53.             catch (Exception)
  54.             {
  55.             }
  56.         }
  57.     }
  58. }