private static void NotifyStartUp() { if (notifyStarted) return; lock (syncRoot) { if (notifyStarted) return; notifyContext = new NotifyContext(); INotifySender jabberSender = new NotifyServiceSender(); INotifySender emailSender = new NotifyServiceSender(); var postman = ConfigurationManager.AppSettings["core.notify.postman"]; if ("ases".Equals(postman, StringComparison.InvariantCultureIgnoreCase) || "smtp".Equals(postman, StringComparison.InvariantCultureIgnoreCase)) { jabberSender = new JabberSender(); var properties = new Dictionary<string, string>(); var s = CoreContext.Configuration.SmtpSettings; properties["host"] = s.Host; properties["port"] = s.Port.GetValueOrDefault(25).ToString(); properties["enableSsl"] = s.EnableSSL.ToString(); properties["userName"] = s.CredentialsUserName; properties["password"] = s.CredentialsUserPassword; properties["domain"] = s.CredentialsDomain; if ("ases".Equals(postman, StringComparison.InvariantCultureIgnoreCase)) { emailSender = new AWSSender(); properties["accessKey"] = ConfigurationManager.AppSettings["ses.accessKey"]; properties["secretKey"] = ConfigurationManager.AppSettings["ses.secretKey"]; properties["refreshTimeout"] = ConfigurationManager.AppSettings["ses.refreshTimeout"]; } else { emailSender = new SmtpSender(); } emailSender.Init(properties); } notifyContext.NotifyService.RegisterSender(Constants.NotifyEMailSenderSysName, new EmailSenderSink(emailSender)); notifyContext.NotifyService.RegisterSender(Constants.NotifyMessengerSenderSysName, new JabberSenderSink(jabberSender)); notifyContext.NotifyEngine.Scheduling = ConfigurationManager.AppSettings["core.notify.scheduling"] != "false"; notifyContext.NotifyEngine.BeforeTransferRequest += NotifyEngine_BeforeTransferRequest; notifyContext.NotifyEngine.AfterTransferRequest += NotifyEngine_AfterTransferRequest; notifyStarted = true; } }
private static void NotifyStartUp() { if (notifyStarted) return; lock (syncRoot) { if (notifyStarted) return; notifyContext = new NotifyContext(); INotifySender jabberSender = new NotifyServiceSender(); INotifySender emailSender = new NotifyServiceSender(); var postman = ConfigurationManager.AppSettings["core.notify.postman"]; if ("ases".Equals(postman, StringComparison.InvariantCultureIgnoreCase) || "smtp".Equals(postman, StringComparison.InvariantCultureIgnoreCase)) { jabberSender = new JabberSender(); var properties = new Dictionary<string, string>(); properties["useCoreSettings"] = "true"; if ("ases".Equals(postman, StringComparison.InvariantCultureIgnoreCase)) { emailSender = new AWSSender(); properties["accessKey"] = ConfigurationManager.AppSettings["ses.accessKey"]; properties["secretKey"] = ConfigurationManager.AppSettings["ses.secretKey"]; properties["refreshTimeout"] = ConfigurationManager.AppSettings["ses.refreshTimeout"]; } else { emailSender = new SmtpSender(); } emailSender.Init(properties); } notifyContext.NotifyService.RegisterSender(Constants.NotifyEMailSenderSysName, new EmailSenderSink(emailSender)); notifyContext.NotifyService.RegisterSender(Constants.NotifyMessengerSenderSysName, new JabberSenderSink(jabberSender)); notifyContext.NotifyService.RegisterSender(Constants.NotifyPushSenderSysName, new PushSenderSink()); notifyContext.NotifyEngine.BeforeTransferRequest += NotifyEngine_BeforeTransferRequest; notifyContext.NotifyEngine.AfterTransferRequest += NotifyEngine_AfterTransferRequest; notifyStarted = true; } }