(C#) 닷넷 스레드 비동기 프로그래밍 (EAP)
닷넷에서는 비동기 프로그래밍 처리를 지원하는 방식이 여러가지 있습니다. 이를 닷넷에서는 ‘비동기 프로그래밍 패턴’이라고 정하고 있습니다.
비동기 프로그래밍 패턴은 세 가지의 패턴이 있습니다.
IAsyncResult 형태의 콜백을 사용하는 APM 패턴(IAsyncResult 패턴) 링크
이벤트 기반의 EAP 패턴 링크
작업 기반의 TAP 패턴 이 방식은 .NET Framework 4에서 도입되었으며, 비동기 프로그래밍에 권장되는 방식 입니다. 링크
(C#) 닷넷 스레드 비동기 프로그래밍 (APM)
닷넷에서는 비동기 프로그래밍 처리를 지원하는 방식이 여러가지 있습니다. 이를 닷넷에서는 ‘비동기 프로그래밍 패턴’이라고 정하고 있습니다.
비동기 프로그래밍 패턴은 세 가지의 패턴이 있습니다.
IAsyncResult 형태의 콜백을 사용하는 APM 패턴(IAsyncResult 패턴) 링크
이벤트 기반의 EAP 패턴 링크
작업 기반의 TAP 패턴 이 방식은 .NET Framework 4에서 도입되었으며, 비동기 프로그래밍에 권장되는 방식 입니다. 링크
(C#) ThreadLocal<T>와 AsyncLocal<T>의 차이점
멀티 스레드 환경에서 각 스레드별로 하나의 공통 데이터에 접근하여 처리 될때 스레드 마다 원자성을 보장하면서
데이터를 다뤄야 하는 상황이 발생할 수 있습니다.
이때 제공 되는것이 Thread Local Storage(TLS) 변수라는 것이 있습니다.
쉽게 말해 tls변수는 스레드별 고유한 데이터를 저장(?)할 수 있는 공간이라고 이해 하면 됩니다. 또한 이 tls변수는(이하 거론되는 ThreadLocal<T> AsyncLocal<T> 동일) 자체적으로 데이터 원자성이 보장되기에 lock없이 접근하여 사용이 가능합니다.
(C#) 커스텀 비동기 Task
async, await을 사용해서 비동기 작업을 처리 하기 위해서는 일반적으로는 System.Threading.Tasks.Task 클래스를
사용해서 반환되는 메서드를 만들어 처리 합니다.
(ASP.NET Core) 웹 응용 프로그램 윈도우 서비스로 호스팅 하는 방법(Kestrel사용)
ASP.NET Core 웹 응용 프로그램을 호스팅 할때 보통 윈도우 서버의 IIS에서 호스팅 하거나
윈도우 또는 Linux나 도커 환경 등에서 Kestrel로 셀프 호스팅을 할 수 있습니다.
(기타) disqus provider를 사용해서 Comment기능 추가하기
Jekyll테마를 사용해서 github 블로그 만들때 Comment기능을 추가 하는 방법 입니다.
참고로 다음 설명에서는 TeXt Theme 사용 기준으로 설명 합니다.
(ASP.NET Core) SignalR 클라이언트 인증 처리 및 인증 정보 기준 특정 클라이언트에게 전송 처리 (feat JWT인증)
지난 글에서 JWT인증 처리 방법에 대해 설명했었습니다.
이번 글은 지난 글 JWT인증을 사용해서 ASP.NET Core 에서 SignalR 호스팅시 인증된 클라이언트만 접속을 허용하고 인증된 클라이언트 특정에게 RPC메서드 통신을 하는 방법입니다.
(ASP.NET Core) JWT인증 처리
ASP.NET Core에서 JWT + 쿠키 클레임을 통한 인증 처리를 사용할 수 있습니다.
우선 ASP.NET Core에서 JWT를 사용하기 위해 누겟에서 관련 패키지를 받아 설치 합니다.
전체 글 67개, 9 페이지