AcaMate_Web/Program.cs
SEAN-59 e8b942a633 [] 로거 관리 서비스 추가
1. Console에 바로 나오던 메세지들 개발 환경에 따라 나오게 필터링 하는 서비스 개발
2. script  쪽에도 추가 하여 js 에서도 필터링 되게 구현
2025-06-27 16:01:54 +09:00

60 lines
1.7 KiB
C#

using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Front;
using Front.Program.Services;
using Front.Program.ViewModels;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
// 로컬 또는 Dev 환경인지 확인
var currentUri = new Uri(builder.HostEnvironment.BaseAddress);
bool isLocal = currentUri.Host == "0.0.0.0" || currentUri.Port.ToString() == "5144";
bool isDev = isLocal ||
builder.HostEnvironment.IsDevelopment();
Uri CheckLocal()
{
if (isLocal)
return new Uri("http://0.0.0.0:5144");
else
return builder.HostEnvironment.IsDevelopment() ?
new Uri("https://devacamate.ipstein.myds.me") :
new Uri("https://acamate.ipstein.myds.me");
}
LoggerService.Initialize(isDev);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
// 설정 파일 로드
builder.Configuration.AddJsonFile($"appsettings.{builder.HostEnvironment.Environment}.json", optional: true);
builder.Services.AddScoped(sp => //new HttpClient
{
var config = builder.Configuration;
var http = new HttpClient
{
BaseAddress = CheckLocal()
};
return http;
});
// SCOPED 으로 등록된 서비스는 DI 컨테이너에 등록된 서비스의 인스턴스를 사용합니다.
builder.Services.AddScoped<APIService>();
builder.Services.AddScoped<SecureService>();
builder.Services.AddScoped<StorageService>();
builder.Services.AddScoped<QueryParamService>();
builder.Services.AddScoped<LoadingService>();
builder.Services.AddScoped<UserStateService>();
// builder.Services.AddSingleton<LoggerService>(sp
await builder.Build().RunAsync();