HttpRequestHeaderCollection.TransferEncoding 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 HttpTransferCodingHeaderValue 对象的 HttpTransferCodingHeaderValue 对象,该对象表示 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 标头的值。 空集合表示标头不存在。
注解
HttpClient 支持的唯一传输编码值是分块的,即使 HttpTransferCodingHeaderValue 对象的 HttpTransferCodingHeaderValueCollection 对象支持设置其他值。
如果 HttpRequestMessage 以未指定内容长度或未使用 HttpClient 上的 方法或 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());
}