.NET Core 2.0 および 3.0 でのネットワークに関する破壊的変更

このページでは、次の破壊的変更について説明します。

互換性に影響する変更点 導入されたバージョン
HttpRequestMessage.Version の既定値が 1.1 に変更された 3.0
WebClient.CancelAsync がすぐにキャンセルされない場合がある 2.0

.NET Core 3.0

HttpRequestMessage.Version の既定値が 1.1 に変更された

System.Net.Http.HttpRequestMessage.Version プロパティの既定値が 2.0 から 1.1 に変更されました。

導入されたバージョン

3.0

変更の説明

.NET Core 1.0 から 2.0 では、System.Net.Http.HttpRequestMessage.Version プロパティの既定値は 1.1 です。 .NET Core 2.1 以降では、2.1 に変更されました。

.NET Core 3.0 以降では、System.Net.Http.HttpRequestMessage.Version プロパティによって返される既定のバージョン番号は再び 1.1 になりました。

既定値 2.0 を返す System.Net.Http.HttpRequestMessage.Version プロパティに依存している場合は、コードを更新します。

カテゴリ

ネットワーキング

影響を受ける API


.NET Core 2.0

WebClient.CancelAsync ですぐにキャンセルされない場合がある

.NET Core 2.0 以降、WebClient.CancelAsync() を呼び出したとき、応答がフェッチを開始している場合、要求がすぐにキャンセルされません。

変更の説明

以前は、WebClient.CancelAsync() を呼び出すと要求がすぐにキャンセルされました。 .NET Core 2.0 以降、WebClient.CancelAsync() を呼び出したとき、応答がフェッチを開始していない場合にのみ、要求がすぐにキャンセルされます。 応答がフェッチを開始している場合、完全な応答が読み取られた後でのみ、要求がキャンセルされます。

この変化の理由は、WebClient API が非推奨になり、HttpClient に取って代わられたことにあります。

導入されたバージョン

2.0

非推奨になっている System.Net.WebClient ではなく、System.Net.Http.HttpClient クラスを使用してください。

カテゴリ

ネットワーキング

影響を受ける API