.NET Core 2.1 preview2에서 네트워킹 개선

원문

Microsoft는 .NET Core 2.1 를 진화시키고 있다.
최신 프리뷰 버전에서는 속도의 대폭적인 향상 순수, .NET 소켓을 기반으로 네트워크 코드 재 작성, 도구의 개선이 이루어지고 있다.

dotnet 툴 시스템은 프리뷰 1에서 발표되었지만, 상당한 성장을 이루었다.
글로벌 툴 설치, 제거, 업데이트(제거 및 재설치 조합)이 가능하게 되었다.
네 번째 옵션 “dotnet tool list”에서 현재 설치되어 있는 글로벌 툴이 나열된다.

.NET Core 2.1을 위한 Microsoft의 블로그 게시물에서 다음과 같은 대폭적인 빌드 성능 향상이 있다고 언급하고 있다.

  • 패키지 자산의 전개 고속화
  • 매번 추가 패키지 자산의 전개 고속화
  • MSBuild 노드 재사용
  • MSBuild ResolveAssemblyReferences 캐시

HttpClient와 Kestrel 등의 .NET 코어의 높은 수준의 네트워킹 API는 .NET 소켓에 의한 순수 .NET 구현을 기반으로 하고있다. SocketsHttpHandler는 새로운 관리 HttpMessageHandler로 HttpClient의 기본 구현이다.
Microsoft는 성능 향상을 어필하고 있지만, 플랫폼 간에 일관된 동작을 한다고 언급하고있다.
이전의 구현에서는 프로그램이 macOS/Linux 또는 Windows에서 구축된 여부에 따라 다른 플랫폼별 종속 관계가 있었다.

일부 dotnet 명령이 독립 실행 형 패키지에서 공식적인 SDK로 전환했다. 번들된 명령은 다음과 같다.

  • dotnet watch - 소스 파일이 변경된 경우 dotnet 명령을 실행한다(이러한 변경은 컴파일, 테스트 실행, 배포 등의 트리거가 될 가능성이있다)
  • dotnet dev-certs - ASP.NET 코어에 사용되는 인증서를 생성한다
  • dotnet user-secrets - 개발 시 사용된 응용 프로그램 암호를 관리한다
  • dotnet sql-cache - Microsoft SQL Server에서의 분산 캐시 설정에 사용
  • dotnet ef - Entity Framework 코어 (데이터베이스, dbcontext, 마이그레이션 관리)과 연계하는 도구

.NET Core SDK 2.1.300 Preview 2 설치 파일은 macOS, Linux 및 Windows 시스템을 Microsoft에서 구할 수 있고, 자신의 컴퓨터에서 빌드를 시도 할 수 있다.
Microsoft의 Rich Lander 씨에 따르면, 2.1의 최종 빌드는 2~3개월 후 예정 되어있다.


이 글은 2018-05-08에 작성되었습니다.