web-dev-qa-db-ja.com

HttpClientおよびReadAsAsync <T>()拡張メソッド

そのため、新しい.Net 4.0プロジェクトを開始し、パブリックAPIを使用していくつかの作業を行います。 Microsoft HttpClientクラスを使用する予定なので、Microsoft.Net.Http NuGetパッケージの最新の安定バージョン(バージョン2.2.13)をインストールしました。同僚がまとめたPOCコードを見ていて、これもHttpClient用のNuGetパッケージを使用しており、次のようなコードがあることに気づきました。

_HttpClient client = new HttpClient();
HttpResponseMessage response = client.GetAync("/uri").Result;

DomainType result = response.Content.ReadAsAsync<DomainType>().Result;
_

私のプロジェクトでは、Microsoft.Net.Httpパッケージへの参照を追加した後、同様のコードを書き込もうとすると、HttpResponseMessageにReadAsAsync<T>()メソッドがないことに気付きました。同僚のPOCソリューションを掘り下げたところ、ReadAsAsync<T>()は実際には_System.Net.Http.Formatting_アセンブリの拡張メソッドのように見えます。このPOCソリューションには、System.Net.Http.Formattingへの参照がありますが、パスC:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dllからこのファイルをプルしています。

私の質問は、ローカルのASP.Netインストールからこのアセンブリを参照するよりも、この拡張メソッドにアクセスするためのより良い解決策はありますか?私の懸念は、ASP.Netがインストールされていない可能性が高いため、CIサーバーで問題が発生することです。 System.Net.Http.FormattingをソリューションのLibディレクトリにコピーできると思いますが、不足している別のNuGetパッケージなど、このアセンブリを提供するより良いオプションがあることを望んでいます。

ありがとう!

15
chris.house.00

これは、WebAPIクライアントライブラリパッケージの一部です。 Microsoft.AspNet.WebApi.Clientnugetパッケージをインストールします。

34
TheESJ