HttpRequestHeaderCollection.TransferEncoding 屬性

定義

取得 HttpTransferCodingHeaderValueCollectionHttpTransferCodingHeaderValue 物件,這些物件代表 HTTP 要求上 Transfer-Encoding HTTP 標頭的值。

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

屬性值

HttpTransferCodingHeaderValue物件的集合,代表 HTTP 要求上Transfer-Encoding HTTP 標頭的值。 空集合表示標頭不存在。

備註

即使HttpTransferCodingHeaderValue 物件的 HttpTransferCodingHeaderValueCollection支援設定其他值,HttpClient所支援的唯一傳輸編碼值也會進行區塊化。

如果 HttpRequestMessage 是以沒有指定內容長度的 ,或在 HttpClient 上使用 方法或 HTTP 內容類別別上的其中一個方法,則不需要手動將傳輸編碼值設定為區塊化。

下列範例程式碼示範在HttpRequestMessage物件上使用 TransferEncoding 屬性在HttpRequestHeaderCollection物件上設定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());
}

適用於

另請參閱