2016-08-18 5 views
29

HttpClientのパッケージと混同しています。以前はMicrosoft.Http.Net NuGetパッケージの一部として配布されていましたが、System.Net.Httpは従来と見なされていました。これは逆のように見えます:新しいプラットフォームSystem.Net.HttpMicrosoft.Net.Httpはしばらく更新されておらず、Microsoft開発チームの方々には推奨されなくなります。その後、System.Net.HttpとMicrosoft.Net.Httpの現在の状況

質問:

  • たちはSystem.Net.Http(最新)でMicrosoft.Net.Http NuGetパッケージの依存関係を置き換えることはできますか?
  • レガシー.NET 4.0プラットフォームでもまだMicrosoft.Net.Httpを使用する必要がありますか? Windows以外のプラットフォーム(iOS、Android)はどうですか?新しいSystem.Net.Httpがサポートされていますが、Microsoft.Net.Httpと一緒に覚えています。クロスプラットフォームのものを動作させるために、さらにMicrosoft.Bcl.BuildMicrosoft.Bclをインストールする必要がありました。 System.Net.Httpはそれらに依存しません。 Bclパッケージをスキップできますか?
  • System.Net.HttpSupportsPreAuthenticateのような一部のHTTP拡張メソッドを、欠けている、とランタイムエラー(不足しているメソッド)にこれらのメソッドの結果を呼び出そうと。私たちはこれにどのように対処すべきですか?
+1

[System.Net.HttpとMicrosoft.Net.Httpの可能な複製](http://stackoverflow.com/questions/31053243/system-net-http-vs-microsoft-net-http) – DonO

+1

変更の可能性のある理由:ネット​​ワークスタックの機能は、Windowsプラットフォームと他のOSの間で少し異なります。たとえば、Mono環境でWindows用に書かれた.NETアプリケーションを使用しているときに問題が発生しました。この変更により、最終的にプラットフォームに依存しないことが可能になることが示されています。これは、システムネームスペースに物事を移動させる理由となります。あなたの質問に答えるかもしれない.NET CoreからのこのHttpパッケージへの参照を探してください。 – flohack

答えて

6

これは長い間されていると混乱が続いています。私は自分自身でそのようなメッセージを見たことがありますが、現在のところ、少なくともWindowsプラットフォーム上では、System.Net.Httpが正しい選択であり、外部の依存関係はありません。 .NETコアの

それはMicrosoft.BCLを必要としないが、私はMicrosoft.Net.Httpを使用しています。問題が発生していない限り、レガシーシステムをそのままにしておくことをお勧めします。特に、これらの名前空間は動いているターゲットのようです。

これはあなたのために十分に混乱していない場合、System.Net.HttpからリンクされたHttpClient SampleWindows.Web.Httpを使用します。その実装は、Windowsストアアプリ向けです。

おそらく来年はこれがすべて再び変わるでしょう。

+5

OMG ..権威ある人から標準的な答えを得ることはできませんか? :( –

関連する問題