들어가며 프로젝트로 채팅서버를 구현해야할 필요성이 생겨났습니다. 어떠한 방식으로 채팅 서버를 구현할까 내부적으로 많은 이야기가 나왔었는데요. 확장성이 용이한 웹을 이용한 채팅을 개발하는 것에 초점이 맞춰졌습니다. 단기간에 해결해야 했기에, SignalR을 이용한 채팅 시스템을 구현을 했는데요. 클라이언트가 웹이 아닌 Unity3D 였기 때문에 가능한 방법을 다각도로 알아봤고, 아직은 Unity3D에서 .NET Core를 지원하지 않기 때문에 .NET Framework 4.5 버전에서 지원되는 SignalR 2.x 버전대로 채팅 시스템을 구현했습니다. SignalR 이란? ASP.NET SignalR은 애플리케이션에 실시간 웹 기능을 추가하는 프로세스를 간소화하는 ASP.NET개발자를 위한 라이브러리입니다..
HttpWebRequest 객체의 BeginGetResponse 메소드를 이용해서 비동기 프로세스를 구축 할 수 있습니다. 하지만 이와 같은 시스템 구축시, 서버당 2개의 TCP 연결 제한이 걸리게 되는 현상이 발생합니다. 사내에서 부하테스를 하는 과정에서 해당 구문을 사용했을 때, 2개의 커넥션만 발생하는 문제가 발생되어 이를 해결하기 위한 방법을 정리하였습니다. app.config 설정 추가 connectionManagement의 maxconnection 값의 수치를 변경합니다. DefaultConnectionLimit 의 기본값은 2로 설정이 되어 있으며, 위 처럼 app.config에 설정을 추가함으로서 커넥션의 수치를 변경할 수 있습니다. 하지만, DefaultConnectionLimit 등록 ..
MSSQL을 이용해서 binary 데이터를 저장해야 하는 경우가 종종 있습니다. 데이터 량이 많은 대신, 크게 가변적이지 않고, 조회이슈가 적은 경우에 한해서 저는 간혹 binary 데이터를 이용해서 저장을 합니다. varbinary란? varbinary [(n | max)] 가변 길이 이진 데이터입니다. n 은 1부터 8000 사이의 값이 될 수 있습니다. max 는 최대 스토리지 크기가 2^31-1바이트임을 나타냅니다. 스토리지 크기는 입력된 실제 데이터 길이에 2바이트를 더한 값입니다. 입력된 데이터의 길이가 0바이트일 수 있습니다. 테이블 CREATE TABLE [dbo].[TEST] ( [Idx] INT NOT NULL, [CustomData] VARBINARY(MAX) NULL, [RegDat..
ASP.NET 5 버전의 프로젝트를 생성해서 진행하려고 할 때, 타기팅팩 오류가 나는 상황이 발생했으며, 이를 해결한 과정을 정리하였습니다. 혹시나 했는데 Visual Studio 2019의 버전 문제 였습니다. 오류 사항 https://dotnet.microsoft.com/download/dotnet/5.0 Download .NET 5.0 (Linux, macOS, and Windows) .NET 5.0 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of applications. dotnet.microso..
카테고리를 새로 만들자니 애매해서, 연관성이 높은 카테고리에 일단 배치했습니다. 정확이 원인이 밝혀지지 않아서 포스팅이 조심스럽긴 하지만, iisreset /stop, iisreset /restart 명령에도 불구하고, 어플리케이션이 정상적으로 종료되지 않는 현상이 발견되었습니다. Application_End가 호출이 되었음에도... 몇번의 호출이 더 발생을 하네요. 내부적으로 호출되는 Timer 의 영향인지, 조금더 확인이 필요하지만 추후에 재 포스팅 하기로 하고, 일단 iisreset 이외에 중지 방법을 알게 되어서 포스팅합니다. net start / stop cmd> net stop w3svc cmd> net start w3svc Windows 10 및 Windows Server 2019 아래 버전..