App.xaml.cs
上传用户:huazai0421
上传日期:2008-05-30
资源大小:405k
文件大小:2k
源码类别:

SilverLight

开发平台:

C#

  1. using System;
  2. using System.Windows;
  3. namespace ESRI.ArcGIS.Samples.SilverMapDemo
  4. {
  5. public partial class App : Application
  6. {
  7. public App()
  8. {
  9. this.Startup += this.Application_Startup;
  10. this.Exit += this.Application_Exit;
  11. this.UnhandledException += this.Application_UnhandledException;
  12. InitializeComponent();
  13. }
  14. private void Application_Startup(object sender, StartupEventArgs e)
  15. {
  16. this.RootVisual = new Page();
  17. }
  18. private void Application_Exit(object sender, EventArgs e)
  19. {
  20. }
  21. private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
  22. {
  23. // If the app is running outside of the debugger then report the exception using
  24. // the browser's exception mechanism. On IE this will display it a yellow alert 
  25. // icon in the status bar and Firefox will display a script error.
  26. if (!System.Diagnostics.Debugger.IsAttached)
  27. {
  28. // NOTE: This will allow the application to continue running after an exception has been thrown
  29. // but not handled. 
  30. // For production applications this error handling should be replaced with something that will 
  31. // report the error to the website and stop the application.
  32. e.Handled = true;
  33. Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
  34. }
  35. }
  36. private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
  37. {
  38. try
  39. {
  40. string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
  41. errorMsg = errorMsg.Replace('"', ''').Replace("rn", @"n");
  42. System.Windows.Browser.HtmlPage.Window.Eval("throw new Error("Unhandled Error in Silverlight 2 Application " + errorMsg + "");");
  43. }
  44. catch (Exception)
  45. {
  46. }
  47. }
  48. }
  49. }