次の方法で共有


HttpRequestHeaderCollection.TransferEncoding プロパティ

定義

HTTP 要求の Transfer-Encoding HTTP ヘッダーの値を表す HttpTransferCodingHeaderValue オブジェクトの HttpTransferCodingHeaderValueCollection を取得します。

public:
 property HttpTransferCodingHeaderValueCollection ^ TransferEncoding { HttpTransferCodingHeaderValueCollection ^ get(); };
HttpTransferCodingHeaderValueCollection TransferEncoding();
public HttpTransferCodingHeaderValueCollection TransferEncoding { get; }
var httpTransferCodingHeaderValueCollection = httpRequestHeaderCollection.transferEncoding;
Public ReadOnly Property TransferEncoding As HttpTransferCodingHeaderValueCollection

プロパティ値

HTTP 要求の Transfer-Encoding HTTP ヘッダーの値を表す HttpTransferCodingHeaderValue オブジェクトのコレクション。 空のコレクションは、ヘッダーが存在しないことを意味します。

注釈

HttpClient でサポートされている転送エンコード値は、HttpTransferCodingHeaderValue オブジェクトの HttpTransferCodingHeaderValueCollection が他の値の設定サポートしている場合でも、チャンク化されます。

HttpRequestMessage が、HttpClient の メソッドまたは HTTP コンテンツ クラスのメソッドの 1 つを使用して、コンテンツ長が指定されていないまたは使用可能な として送信される場合は、転送エンコード値をチャンクに手動で設定する必要はありません。

次のサンプル コードは、HttpRequestHeaderCollection オブジェクトの TransferEncoding プロパティを使用して、HttpRequestMessage オブジェクトに Transfer-Encoding ヘッダーを設定するメソッドを示しています。

void DemoTransferEncoding(HttpRequestMessage m) {
    var h = m.Headers;

    uiLog.Text += "\nTRANSFERENCODING HEADER\n";
    // Transfer-Encoding: chunked
    var okTryParseAdd = h.TransferEncoding.TryParseAdd("chunked");
    okTryParseAdd = h.TransferEncoding.TryParseAdd("mini; a=b; c=d; e=f");
    h.TransferEncoding.Add(new HttpTransferCodingHeaderValue("cab"));
    h.TransferEncoding.TryParseAdd("newtype, othernewtype");

    // TransferEncoding is a HttpTransferCodingHeaderValueCollection
    // A collection of HttpTransferCodingHeaderValue

    // HttpTransferCodingHeaderValue has three items:
    // Value (string); for example, "compress"
    // Parameter (IList<HttpNameValueHeaderValue>)
    //

    foreach (var item in h.TransferEncoding) {
        // item has: Value (string), Parameter IList<HttpNameValueHeaderValue>
        var parameterString = "";
        foreach (var parameter in item.Parameters) {
            parameterString += string.Format("[{0}={1}] ", parameter.Name, parameter.Value);
        }
        if (parameterString == "") {
            parameterString = "(no parameters)";
        } 
        uiLog.Text += string.Format("Value: {0} Parameters: {1} ToString: {2}\n", item.Value, parameterString, item.ToString());
    }
    uiLog.Text += string.Format("TransferEncoding: ToString: {0}\n\n", h.TransferEncoding.ToString());
}

適用対象

こちらもご覧ください