다음을 통해 공유


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 개체의 컬렉션입니다. 빈 컬렉션은 헤더가 없음을 의미합니다.

설명

HttpTransferCodingHeaderValue 개체의 HttpTransferCodingHeaderValueCollection이 다른 값 설정을 지원하더라도 HttpClient에서 지원하는 유일한 전송 인코딩 값은 청크로 분할됩니다.

HttpRequestMessageHttpClient의 메서드 또는 HTTP 콘텐츠 클래스의 메서드 중 하나를 사용하여 콘텐츠 길이가 지정되거나 사용 가능한 으로 전송되는 경우 전송 인코딩 값을 수동으로 청크로 설정할 필요가 없습니다.

다음 샘플 코드에서는 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());
}

적용 대상

추가 정보