/// <summary> /// Note:序列化,从配置中获取所有数据 /// </summary> /// <returns></returns> public static ExecutionStatus Instance() { ExecutionStatus executionStatus; try { var fullFileName = GetFullPath(FILE_NAME); var exists = File.Exists(fullFileName); if (!exists) { executionStatus = new ExecutionStatus(); } else { using (var reader = XmlReader.Create(fullFileName)) { var slz = new XmlSerializer(typeof(ExecutionStatus)); var rst = slz.Deserialize(reader) as ExecutionStatus; reader.Close(); executionStatus = rst; } } } catch (Exception ex) { executionStatus = new ExecutionStatus(); //文件未找到的异常,自已创建一个了 log.Fatal("实例化任务状态时异常", ex); } return(executionStatus); }
protected static void InitializeUnobservedExceptionHandler() { // if there are any unhandled exceptions in tasks - just don't throw them in finalizer TaskScheduler.UnobservedTaskException += (sender, e) => { if (!e.Observed) { e.SetObserved(); if (!Environment.HasShutdownStarted) { Tracer.Fatal("Unobserved exception in a task!", e.Exception); } } }; }
public static void Fatal(string message, params object[] args) { _tracer.Fatal(message, args); }