예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
                    }
                }
            };
        }
예제 #3
0
 public static void Fatal(string message, params object[] args)
 {
     _tracer.Fatal(message, args);
 }