ASP..Net core로 WebAPI 서버를 자주 개발하는데 종종 Angular로 만든 프론트를 wwwroot 폴더에 넣어서 함께 종종 배포하곤 합니다. 이 때, Angular web app에서 별도로 routing을 하는 경우 ASP.Net에서 먼저 http 요청을 처리하기 때문에 브라우저에서 페이지 생신시 요청되는 url이 WebAPI에서 알지 못하는 주소라서 404 Not Found를 뿜어냅니다. 이럴 때 root 경로로 redirect 해주면 간단히 해결됩니다. app.Use(async (context, next) => { await next(); if (context.Response.StatusCode == 404) { context.Request.Path = "/"; await next();..
![[ASP.Net] ASP.Net 6 Windows Service에 등록 후 실행하면 appsettings.json 파일을 못찾을 경우](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb42tZU%2FbtrYJZBwWo4%2FAAAAAAAAAAAAAAAAAAAAALSZc9Fwh1_09gURvPF0WQAqmfo_6k8ne9nTM0jMrpFd%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3Dm2zqbF7nm2cKblzyhLwDDLzHiOc%253D) 
								
							.Net 6 에서 ASP.Net core 프로젝트를 빌드해서 Windows Service에 등록 한 다음 서비스를 시작했는데 에러가 발생했다면 우선 Event Log Viewer 에서 Exception 메세지를 먼저 확인 합니다. Windows Logs -> Application 에서 .Net Runtime Error 내용을 들여다 보면 Exception이 발생한 코드의 위치가 나오는데, 해당 코드가 appsettings.json에서 읽어온 configuration을 access하는 코드라면 아래 옵션을 추가해서 간단히 해결 가능합니다. var builder = WebApplication.CreateBuilder(new WebApplicationOptions { Args = args, ContentRoo..
![[ASP.NET] ASP.Net core 6 Kestrel 기본 호스팅 주소 및 포트 변경하기](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbn9Tj3%2FbtrWxppe9gQ%2FAAAAAAAAAAAAAAAAAAAAAIKQSKT0WK0fbimLiEVpOuuX7WIrVDGJMQzWDe6wI1zO%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3Drz7dqbtAdhhY7yr4ogCRUz4LKQ4%253D) 
								
							방법 1. appsettings.json 파일에 아래와 같이 Kestrel 설정을 추가 시킨다. "Kestrel": { "Endpoints": { "Http": { "Url": "http://localhost:5000" }, "Https": { "Url": "https://localhost:5001" } } } 방법2. Program.cs 파일에서 직접 주소를 입력한다. await app.RunAsync("http://localhost:5000"); 더 자세한 내용은 아래 마이크로소프트 문서 참고. https://learn.microsoft.com/ko-kr/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-7.0 ASP.NET Cor..
![[ASP.NET] ASP.Net core 6에서 NLog 사용하기](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbiHoOa%2FbtrWq2hE4JE%2FAAAAAAAAAAAAAAAAAAAAAMisBmcnP0WwiiIVLrzSM60hos1GGThpysNDvoUWdwX4%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3D21QPhnJGbFKuzU7h%252FxFjq1Qg1GY%253D) 
								
							NuGet packge manager에서 NLog.Web.AspNetCore 패키지를 검색해서 설치해줍니다. 검색이 귀찮으면 프로젝트 파일에 직접 써넣습니다. Program.cs 파일에 아래 코드를 추가합니다. using NLog.Web; ... // NLog builder.Logging.ClearProviders(); builder.Logging.SetMinimumLevel(LogLevel.Trace); builder.Host.UseNLog(); ... var app = builder.Build(); 아래와같이 NLog.config 파일을 작성합니다. 이제 ILogger 인터페이스로 쓰여진 모든 log 메세지들도 NLog로 redirect되므로 NLog의 logging 함수들을 사용해도 되고 ILogg..
