카테고리를 새로 만들자니 애매해서, 연관성이 높은 카테고리에 일단 배치했습니다. 정확이 원인이 밝혀지지 않아서 포스팅이 조심스럽긴 하지만, iisreset /stop, iisreset /restart 명령에도 불구하고, 어플리케이션이 정상적으로 종료되지 않는 현상이 발견되었습니다. Application_End가 호출이 되었음에도... 몇번의 호출이 더 발생을 하네요. 내부적으로 호출되는 Timer 의 영향인지, 조금더 확인이 필요하지만 추후에 재 포스팅 하기로 하고, 일단 iisreset 이외에 중지 방법을 알게 되어서 포스팅합니다. net start / stop cmd> net stop w3svc cmd> net start w3svc Windows 10 및 Windows Server 2019 아래 버전..
동기 방식으로 설계된 프로젝트에서, 비동기를 호출하기 위해서 Task.Run() 메소드를 이용해서 호출합니다. 개별 요청에 대한 HTTP 관련 정보를 캡슐화 하는 HttpContext를 이용해야 하는 경우, 현재 요청에 대한 정보를 Task.Run() 메소드 이용시 공유할 수 없는데요. 이를 해결 하기 위한 방법을 간략하게 정리하였습니다. 사용방법 public async Task UpdateAsync() { ... } public void main() { var result = Task.Run(async () => { HttpContext.Current = this.Context; return await UpdateAsync(); }).Result; } 조금 불편한 방식이긴 합니다만, Task.Run()..
요즘 동기와 비동기가 혼재되어 사용중인 프로젝트를 진행하고 있습니다. 최초 설계시부터 작업방식을 정해놓고 진행해야 하는데, 이 프로젝트는 그러지 못했나 봅니다. 설계과정에서부터 비동기 async / await 모델로 설계된 프로젝트가 아니라면, 중간에 적용하기에 애매한 상황이 발생합니다. 프로젝트를 다시 설계할 수 있는 상황이 아니라면, Task.Run() 메소드를 이용해서 비동기 호출을 이용 할 수 있습니다. 호출 방법 public bool Test() { var result = Task.Run(async () => await Update()).Result; return result; } public async Task Update() { ... } 위와 같이 람다식을 이용해서, 비동기로 짜여진 Upd..
학습도 할겸 해서 ASP.NET MVC 템플릿을 이용해서 제작되어 있는 기능을 Blazor로 옮기는 작업을 최근 진행하고 있었습니다. RESTFul API를 호출 하고, 결과를 JSON으로 보여주는 부분을 Beautiful JSON Viewer Editor 라이브러리를 이용해서 보여주고 있었는데요. https://www.jqueryscript.net/other/Beautiful-JSON-Viewer-Editor.html Beautiful JSON Viewer And Editor With jQuery - JSON Editor A lightweight, simple, beautiful JSON viewer and editor plugin helps the developers to render JSON obj..
Blazor를 이용해서 간단한 테스트 사이트를 제작하려고 하다보니, 기본적인 수명주기 LifeCycle 이 궁금해서 가볍게 정리해보았습니다. 구성요소 수명주기 구성요소가 요청시 처음 렌더링 되는 경우 구성 요소의 인스턴스를 만들고, 속성 삽입을 수행하고, SetParametersAsync 실행. OnInitialized{Async} 호출 OnParametersSet{Async} 을 호출하고 구성요소를 랜더링 합니다. Blazoer 프레임워크는 동기 및 비동기 수명주기 메소드를 제공합니다. Render 수명 주기 첫번째 렌더링 이후나, ShouldRender가 false 인 경우에는 추가 렌더링 작업을 중지합니다. 렌더링 트리 diff(차이)를 빌드하고 구성요소를 랜더링 합니다. DOM이 업데이트 될 때 ..