/// <summary>
        /// Registration method.  Call this from OnLaunched and OnActivated inside the App.xaml.cs
        /// </summary>
        /// <returns></returns>
        public static ExceptionHandlingSynchronizationContext Register()
        {
            var syncContext = Current;

            if (syncContext == null)
            {
                throw new InvalidOperationException("Ensure a synchronization context exists before calling this method.");
            }


            var customSynchronizationContext = syncContext as ExceptionHandlingSynchronizationContext;


            if (customSynchronizationContext == null)
            {
                customSynchronizationContext = new ExceptionHandlingSynchronizationContext(syncContext);
                SetSynchronizationContext(customSynchronizationContext);
            }


            return(customSynchronizationContext);
        }
Пример #2
0
 /// <summary>
 /// Should be called from OnActivated and OnLaunched
 /// </summary>
 private void RegisterExceptionHandlingSynchronizationContext()
 {
     ExceptionHandlingSynchronizationContext
     .Register()
     .UnhandledException += SynchronizationContext_UnhandledException;
 }