.NET Core 3.0 のポイントをおさえる – リファレンスのまとめ –

オウルです。

.NET Core 3.0 が 9 月にリリース、LTS である .NET Core 3.1 が 11 月にリリース予定です。そして、.NET Core、.NET Framework、Xamarin、Mono を統合する .NET 5 が 2020 年 11 月にリリース予定となっています。まずは、.NET Core 3.0 (どちらかというと、ASP.NET Core 3.0)のポイントをおさえて、後に控えている .NET 5 に備えたいと思います。

個人的に .NET の欲しい情報を得ようとすると、あっちこっちな感じがするので、このページから目的の情報を得れるように、リファレンスを集約しておきます。記事中の「ソース:リンク」が、Microsoft 公式 or 公式ブログにある該当箇所です。

ロードマップ

.NET のロードマップです。

.NET Core 3.0

Visual Studio、Visual Studio Code

.NET Core 3.0 では、C# 8.0 のサポートが追加されています。そのため、C# の拡張機能は以下を使用します。

  • Visual Studio 2019 16.3
  • Visual Studio for Mac 8.3
  • Visual Studio Code

Docker image もある。

.NET ブログの Announcing .NET Core 3.0 の記事中で紹介されている 「What you should know about 3.0」の中で、個人的に特に押さえておくべき内容を以下に列挙します。

C# 8.0

C# 8 の新規機能を列挙します。

上記、いづれも記事中にサンプルコードがあります。また、「既定のインターフェイス メンバー」は git hub にサンプルソースも用意されています。

「既定のインターフェイス メンバー」は、こんなことができるようになるんだ、と思わずにはいられない。

High performance JSON APIs

Json ライブラリとして 便利な Json.NET を使用している人は多いと思いますが(僕も Json.NET ユーザ)、.NET Core 3.0 では、高速な組み込み JSON がサポートされます。 Json.NET と比較して、高パフォーマンスであることが説明されています。

System.Net.Http.HttpClient の HTTP/2 のサポート

Linux 上の TLS 1.3 と OpenSSL 1.1.1

Windows と macOS はまだ TLS 1.3 をサポートしていません。 サポートされるようになったら、.NET Core 3.0 はこれらのオペレーティング システムで TLS 1.3 をサポートする予定です。

とあるように、Windows Server では TLS 1.2 となります。

TLS 1.3 は、TLS1.0~1.2 を踏まえて拡張されています。例えば、ServerHello 以降のハンドシェイクパラメータを暗号化して保護するように暗号化開始タイミングが変更されています。

TLS 1.3 については、SSL/TLS 暗号設定 ガイドライン – IPA が参考になります。また、TLS1.0~1.2 ハンドシェイクについては、こちらの記事 で分かり易く説明してくれています。

IEEE Floating-point improvements

.NET Core has been hardened for Docker

cgroup のメモリ制限と適切に連携し GC のヒープ サイズを制御します。Announcing .NET Core 3.0 の「Docker and cgroup Limits」では、もう少し詳細な説明がされています。

GC Large page support

以上。.NET 5 までに .NET Core 3.0 、特に ASP.NET Core 3.0 は触れておきたいので、「【初心者向け】はじめての ASP.NET Core 作りながら学習」は 2.2 ⇒ 3.0 に近々アップグレードする予定です。

そういえば、Entity Framework (EF) Core の SQLServer の Always Encrypted(列暗号化)の対応はされたのだろうか。。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA