HttpChallengeHeaderValueCollection 类

定义

表示 HTTP 响应上的 Proxy-AuthenticateWWW-Authenticate HTTP 标头的值。

public ref class HttpChallengeHeaderValueCollection sealed : IIterable<HttpChallengeHeaderValue ^>, IVector<HttpChallengeHeaderValue ^>, IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class HttpChallengeHeaderValueCollection final : IIterable<HttpChallengeHeaderValue>, IVector<HttpChallengeHeaderValue>, IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class HttpChallengeHeaderValueCollection final : IIterable<HttpChallengeHeaderValue>, IVector<HttpChallengeHeaderValue>, IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class HttpChallengeHeaderValueCollection : IEnumerable<HttpChallengeHeaderValue>, IList<HttpChallengeHeaderValue>, IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class HttpChallengeHeaderValueCollection : IEnumerable<HttpChallengeHeaderValue>, IList<HttpChallengeHeaderValue>, IStringable
Public NotInheritable Class HttpChallengeHeaderValueCollection
Implements IEnumerable(Of HttpChallengeHeaderValue), IList(Of HttpChallengeHeaderValue), IStringable
继承
Object Platform::Object IInspectable HttpChallengeHeaderValueCollection
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

示例

以下示例代码演示了一种方法,该方法使用 HttpChallengeHeaderValueCollection 和 HttpChallengeHeaderValue 类的属性和方法获取和设置 HttpResponseMessage 对象上的 Proxy-Authenticate HTTP 标头。

using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;

        public void DemonstrateHeaderResponseProxyAuthenticate() {
            var response = new HttpResponseMessage();

            // Set the header with a strong type.
            response.Headers.ProxyAuthenticate.TryParseAdd("Basic");
            response.Headers.ProxyAuthenticate.Add(new HttpChallengeHeaderValue("authScheme", "authToken"));

            // Get the strong type out
            foreach (var value in response.Headers.ProxyAuthenticate) {
                System.Diagnostics.Debug.WriteLine("Proxy authenticate scheme and token: {0} {1}", value.Scheme, value.Token);
            }

            // The ToString() is useful for diagnostics, too.
            System.Diagnostics.Debug.WriteLine("The ProxyAuthenticate ToString() results: {0}", response.Headers.ProxyAuthenticate.ToString());
        }

注解

HttpChallengeHeaderValueCollection 表示 HTTP 响应上的 Proxy-AuthenticateWWW-Authenticate HTTP 标头的值。

HttpChallengeHeaderValueCollection 为 HttpChallengeHeaderValue 类的实例提供一个集合容器,用于身份验证信息,这些信息用于 授权ProxyAuthorizationWWW-AuthenticateProxy-Authenticate HTTP 标头值。

HttpResponseHeaderCollection 上的 ProxyAuthenticate 属性返回 HttpChallengeHeaderValueCollection 对象。 HttpResponseHeaderCollection 上的 WwwAuthenticate 属性还返回 HttpChallengeHeaderValueCollection 对象。

集合成员列表

对于 JavaScript,HttpChallengeHeaderValueCollection 的成员显示在成员列表中。 此外,HttpChallengeHeaderValueCollection 支持 Array.prototype 的成员,并使用索引访问项。

枚举 C# 或 Microsoft Visual Basic 中的集合

可以在 C# 或 Microsoft Visual Basic 中循环访问 HttpChallengeHeaderValueCollection 对象。 在许多情况下,例如使用 foreach 语法,编译器会为你执行此强制转换,你无需显式强制转换为 IEnumerable<HttpChallengeHeaderValue> 。 如果需要显式强制转换(例如,如果要调用 GetEnumerator),请使用 HttpChallengeHeaderValue 约束将集合对象强制转换为 IEnumerable<T>

属性

Size

获取集合中 HttpChallengeHeaderValue 对象的数目。

方法

Append(HttpChallengeHeaderValue)

将新的 HttpChallengeHeaderValue 项添加到集合的末尾。

Clear()

从集合中删除所有 HttpChallengeHeaderValue 对象。

First()

检索集合中第一个 HttpChallengeHeaderValue 项的迭代器。

GetAt(UInt32)

返回集合中指定索引处的 HttpChallengeHeaderValue

GetMany(UInt32, HttpChallengeHeaderValue[])

检索从集合中的指定索引处开始的 HttpChallengeHeaderValue 项。

GetView()

返回 HttpChallengeHeaderValueCollection 的不可变视图。

IndexOf(HttpChallengeHeaderValue, UInt32)

检索集合中 HttpChallengeHeaderValue 的索引。

InsertAt(UInt32, HttpChallengeHeaderValue)

HttpChallengeHeaderValue 插入集合中的指定索引处。

ParseAdd(String)

分析 HttpChallengeHeaderValueCollection 并添加一个条目。

RemoveAt(UInt32)

HttpChallengeHeaderValueCollection 中删除指定索引处的条目。

RemoveAtEnd()

从集合中删除最后一个 HttpChallengeHeaderValue 项。

ReplaceAll(HttpChallengeHeaderValue[])

将集合中的所有 HttpChallengeHeaderValue 项替换为指定的 HttpChallengeHeaderValue 项。

SetAt(UInt32, HttpChallengeHeaderValue)

在集合中的指定索引处设置 HttpChallengeHeaderValue

ToString()

返回表示当前 HttpChallengeHeaderValueCollection 对象的字符串。

TryParseAdd(String)

尝试分析指定的项并将其添加到 HttpChallengeHeaderValueCollection

适用于

另请参阅