HttpWebRequest 객체의 BeginGetResponse 메소드를 이용해서 비동기 프로세스를 구축 할 수 있습니다. 하지만 이와 같은 시스템 구축시, 서버당 2개의 TCP 연결 제한이 걸리게 되는 현상이 발생합니다. 사내에서 부하테스를 하는 과정에서 해당 구문을 사용했을 때, 2개의 커넥션만 발생하는 문제가 발생되어 이를 해결하기 위한 방법을 정리하였습니다. app.config 설정 추가 connectionManagement의 maxconnection 값의 수치를 변경합니다. DefaultConnectionLimit 의 기본값은 2로 설정이 되어 있으며, 위 처럼 app.config에 설정을 추가함으로서 커넥션의 수치를 변경할 수 있습니다. 하지만, DefaultConnectionLimit 등록 ..
필요한 시점에 항상 찾게되는 .NET Framework 다운로드 링크!! 간혹 서버 셋팅시에 닷넷 프레임워크를 수동으로 다운 받아야 하는 경우가 있는데요. 그때! 빠르게나마 찾기 위해서 다운로드 링크를 필요에 의해서 글을 남겨놉니다. https://dotnet.microsoft.com/download/dotnet-framework Download .NET Framework | Free official downloads Downloads for building and running applications with .NET Framework. Get web installer, offline installer, and language pack downloads for .NET Framework. dotnet...
Winform을 이용해서 프로젝트를 많이 수행하는 편은 아니다보니, 그때 그때 필요한 사항을 찾아서 개발하곤 합니다. 가급적 테스트 툴을 개발하는 목적으로 많이 사용하다보니, 사용성은 적은데요. 그러다 보면, 가끔 List View를 이용해서 Log 를 보여줄때 thread 에 영향을 받게 되는 경우가 발생합니다. msdn 에 검색해 보니, 아래 링크 검색이 되서 공유합니다. docs.microsoft.com/ko-kr/dotnet/desktop/winforms/controls/how-to-make-thread-safe-calls-to-windows-forms-controls?view=netframeworkdesktop-4.8 스레드로부터 안전한 컨트롤 호출 - Windows Forms .NET Fram..
요즘 동기와 비동기가 혼재되어 사용중인 프로젝트를 진행하고 있습니다. 최초 설계시부터 작업방식을 정해놓고 진행해야 하는데, 이 프로젝트는 그러지 못했나 봅니다. 설계과정에서부터 비동기 async / await 모델로 설계된 프로젝트가 아니라면, 중간에 적용하기에 애매한 상황이 발생합니다. 프로젝트를 다시 설계할 수 있는 상황이 아니라면, Task.Run() 메소드를 이용해서 비동기 호출을 이용 할 수 있습니다. 호출 방법 public bool Test() { var result = Task.Run(async () => await Update()).Result; return result; } public async Task Update() { ... } 위와 같이 람다식을 이용해서, 비동기로 짜여진 Upd..
MessagePack 이란? MessagePack은 C#용 시리얼 라이저의 일종입니다. MsgPack-Cli 보다 10배 빠르다고 공식 GitHub에 명시되어 있으며, 다른 C# 직렬 변환기보다 성능이 뛰어납니다. MessagePack for C#은 또한 매우 빠른 압축 알고리즘 인 LZ4 압축을 기본적으로 지원합니다. 특히 게임, 분산 컴퓨팅, 마이크로 서비스 또는 데이터 캐시와 같은 응용 프로그램에서 성능이 중요합니다. 공식 GitHub https://github.com/neuecc/MessagePack-CSharp neuecc/MessagePack-CSharp Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin)...
기존에 진행하던 프로젝트에서는 Newtonsoft Json을 이용해서 시리얼라이즈 해서 사용하였습니다. 하지만 새로 진행하는 프로젝트에서 시리얼라이즈 하는 데이터량이 상당이 많아지는 이슈가 발생하였습니다. 속도를 개선할 이슈가 발생해서, 기존에 다른 프로젝트에서 사용하였던 Zeroformatter를 다시 도입하였는데요. 이번기회에 다시 한번 정리해보려고 합니다. Zeroformatter 란? Zeroformatter는 C# 프로젝트에서 사용할 수 있는 직렬화 오픈소스 입니다. 다양한 시리얼라이저의 사용법을 정리할 생각이지만, 여러 시리얼라이저의 속도를 직접 비교해 보았을때, 가장 빠른 속도를 보여줬습니다. 아래의 링크를 통해서 더 자세한 정보를 확인 하실 수 있습니다. https://github.com/..