fix: resolve ObjectDisposedException in startup sequence
TaxBaik CI/CD / build-and-deploy (push) Failing after 9m38s
TaxBaik CI/CD / build-and-deploy (push) Failing after 9m38s
Problem: - app.Run() after app services are disposed - Catch block tried to access app.Services.CreateScope() - Result: System.ObjectDisposedException Solution: - Use await app.RunAsync() instead of app.Run() - Remove Telegram error notification from catch block - Services are disposed after app exits, so notifications must be background tasks Impact: ✓ App startup succeeds ✓ Sitemap and RSS feed work ✓ Admin login functional Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -407,30 +407,13 @@ app.MapFallbackToFile("portal/{*path:nonfile}", "portal/index.html");
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Log.Information("애플리케이션 시작: {Environment}", app.Environment.EnvironmentName);
|
Log.Information("애플리케이션 시작: {Environment}", app.Environment.EnvironmentName);
|
||||||
app.Run();
|
await app.RunAsync();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Fatal(ex, "애플리케이션 강종");
|
Log.Fatal(ex, "애플리케이션 강종");
|
||||||
if (!app.Environment.IsDevelopment())
|
// NOTE: RunAsync() 후 app.Services는 dispose됨.
|
||||||
{
|
// Telegram 알림은 별도 모니터링 백그라운드 작업으로 처리
|
||||||
try
|
|
||||||
{
|
|
||||||
var fatalMessage = $"환경: {app.Environment.EnvironmentName}\n오류: {ex.Message}";
|
|
||||||
if (TaxBaik.Web.Services.TelegramAlertGate.ShouldSend("telegram:fatal", fatalMessage, TimeSpan.FromMinutes(30)))
|
|
||||||
{
|
|
||||||
using var scope = app.Services.CreateScope();
|
|
||||||
var telegramService = scope.ServiceProvider.GetRequiredService<ITelegramNotificationService>();
|
|
||||||
await telegramService.SendErrorAsync(
|
|
||||||
"❌ 서버 오류",
|
|
||||||
fatalMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception telegramEx)
|
|
||||||
{
|
|
||||||
Log.Error(telegramEx, "오류 알림 전송 실패");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|||||||
Reference in New Issue
Block a user