シンプルなコンソール アプリケーションの一部として Serilog の Email シンクを使用しようとしています。このアプリケーションの有効期間は非常に短く、DB をチェックしてサブスクライバーを新しいデータで更新します。エラーが発生した場合にメールを送信したい。
問題は、アプリの最後に Thread.Sleep を配置しないと、メールが送信されないことです。
電子メール キューを削除して、電子メールを強制的にできるだけ早く送信する方法はありますか?
私のコードは次のとおりです。
Log.Logger = new LoggerConfiguration()
.WriteTo.ColoredConsole()
.WriteTo.EventLog("LOGSOURCE", restrictedToMinimumLevel: LogEventLevel.Warning)
.WriteTo.Email(connectionInfo: new EmailConnectionInfo()
{
EmailSubject = "App error",
ToEmail = "support@company.com",
MailServer = "smtp.office365.com",
NetworkCredentials = new NetworkCredential("sender@company.com", "Password"),
Port = 587,
FromEmail = "sender@company.com",
EnableSsl = false
},
batchPostingLimit: 1,
restrictedToMinimumLevel: LogEventLevel.Error)
.CreateLogger();
Log.Error("Error message");
どんな助けでも大歓迎です