private void DoItNow(object sender, ElapsedEventArgs e) { GreyDoIt.Default(); try { GreyDoIt.Do(this.CheckItemList); }catch (Exception x) { MessageBox.Show(x.Message); MessageBox.Show(x.StackTrace); } string ReportFileName = "GreyReport.xml"; // Serialize CheckItemList XmlSerializer Serializer = new XmlSerializer(typeof(CheckList)); using (var fStream = new FileStream("GreyReport.xml", FileMode.Create)) { CheckList checklist = new CheckList { items = new List <CheckItem>() }; foreach (var item in this.CheckItemList) { checklist.items.Add(item); } Serializer.Serialize(fStream, checklist); } InitTimer = new Timer(); InitTimer.Interval = 3000; InitTimer.Elapsed += ShutDownApplication; InitTimer.AutoReset = false; InitTimer.Start(); // 현재 프로세스를 종료함 // 갑작스럽게 종료되는 경향이 있음 /* * SmtpClient client = new SmtpClient(); * client.Port = 587; * client.Host = "gmail.com"; * client.EnableSsl = true; * client.Timeout = 10000; * client.DeliveryMethod = SmtpDeliveryMethod.Network; * client.UseDefaultCredentials = false; * client.Credentials = new System.Net.NetworkCredential("@gmail.com", "password"); * * MailMessage mm = new MailMessage("*****@*****.**", "*****@*****.**", "test", "test"); * mm.BodyEncoding = UTF8Encoding.UTF8; * mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; * * if (File.Exists(ReportFileName)) * { * Attachment attachment = new Attachment(ReportFileName, MediaTypeNames.Application.Octet); * ContentDisposition disposition = attachment.ContentDisposition; * disposition.CreationDate = File.GetCreationTime(ReportFileName); * disposition.ModificationDate = File.GetLastWriteTime(ReportFileName); * disposition.ReadDate = File.GetLastAccessTime(ReportFileName); * disposition.FileName = System.IO.Path.GetFileName(ReportFileName); * disposition.Size = new FileInfo(ReportFileName).Length; * disposition.DispositionType = DispositionTypeNames.Attachment; * mm.Attachments.Add(attachment); * } * * client.Send(mm); */ }
public static void Default() { GreyDoIt.Instance = new GreyDoIt(); }