/// <summary> /// 注册事件. 需要在OnLaunched和OnActivated事件中调用 /// </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); }
private void RegisterExceptionHandlingSynchronizationContext() { ExceptionHandlingSynchronizationContext .Register() .UnhandledException += SynchronizationContext_UnhandledException; }