WCF の HttpClient を使用した GZip 圧縮された応答の処理
WCF サービスは外部 API と対話することが多く、GZip 圧縮された JSON などのさまざまな形式でデータを受信します。 このガイドでは、WCF サービス内で HttpClient 経由で取得した GZip 応答をシームレスに解凍する方法について説明します。
課題:
WCF サービスの HttpClient を介して外部 API から受信した GZip エンコードされた JSON データを解凍するのは難しい場合があります。 目的は、応答を効率的に解凍し、結果のデータを処理することです (配列またはバッファーに格納するなど)。
解決策:
鍵となるのは、HttpClientHandler
を正しく構成することです。 その方法は次のとおりです:
HttpClientHandler による自動解凍:
<code class="language-csharp">HttpClientHandler handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate }; using (var client = new HttpClient(handler)) { // Your HTTP request code here }</code>
GZip 解凍を有効にする:
このコード スニペットは、GZip と Deflate の両方の圧縮方法を処理するように AutomaticDecompression
の HttpClientHandler
プロパティを設定します。これにより、コンテンツにアクセスする前に、HttpClient
が応答を自動的に解凍します。
ベストプラクティス:
IHttpClientFactory
インスタンスの作成と管理に HttpClient
を利用します。このアプローチにより、GZip 解凍が簡素化され、手動による解凍手順を行わずに、解凍された JSON データの処理に集中できるようになります。
以上がWCF サービスで HttpClient からの GZip 応答を解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。