定义一个绑定元素,该元素用于为响应 HTTP 请求而不是 SOAP 消息的 Windows Communication Foundation (WCF) Web 服务配置终结点。
<configuration>
<system.serviceModel>
<bindings>
<webHttpBinding>
Syntax
<webHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxBufferSize="integer"
maxReceivedMessageSize="Integer"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
useDefaultWebProxy="Boolean"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding">
<security mode="None/Transport/TransportCredentialOnly">
<transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
realm="string" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</webHttpBinding>
特性和元素
以下部分介绍属性、子元素和父元素
特性
| Attribute | Description |
|---|---|
| allowCookies | 一个布尔值,该值指示客户端是否接受 Cookie 并在将来的请求上传播 Cookie。 默认值为 false。 与使用 Cookie 的 ASMX Web 服务交互时,可以使用此属性。 这样,就可以确保从服务器返回的 Cookie 会自动复制到该服务的所有将来的客户端请求。 |
| bypassProxyOnLocal | 一个布尔值,该值指示是否绕过本地地址的代理服务器。 默认值为 false。 |
| closeTimeout | 一个 TimeSpan 值,该值指定为完成关闭作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。 |
| hostnameComparisonMode | 指定用于分析 URI 的 HTTP 主机名比较模式。 此属性的类型 HostNameComparisonMode,指示主机名在 URI 上匹配时是否用于访问服务。 默认值为 StrongWildcard忽略匹配项中的主机名。 |
| maxBufferPoolSize | 一个整数,指定此绑定的最大缓冲池大小。 默认值为 524,288 字节(512 * 1024)。 Windows Communication Foundation(WCF)的许多部分都使用缓冲区。 每次使用缓冲区时创建和销毁缓冲区的成本高昂,缓冲区的垃圾回收也非常昂贵。 使用缓冲池,可以从池中获取缓冲区,使用它,并在完成后将其返回到池。 因此,可以避免创建和销毁缓冲区的开销。 |
| maxBufferSize | 一个整数,指定分配的最大内存量供接收来自通道的消息缓冲区的管理器使用。 默认值为 524,288 (0x80000) 字节。 |
| maxReceivedMessageSize | 一个正整数,指定可在配置有此绑定的通道上接收的最大消息大小(以字节为单位),包括标头。 超出此限制的邮件发送方将收到错误。 接收方删除消息,并在跟踪日志中创建事件的条目。 默认值为 65536。
注意: 仅在 ASP.NET 兼容模式下增加此值是不够的。 还应增加值httpRuntime(请参阅 httpRuntime 元素(ASP.NET 设置架构)。 |
| 姓名 | 一个字符串,其中包含绑定的配置名称。 此值应是唯一的,因为它用作绑定的标识。 从 .NET Framework 4 开始,不需要绑定和行为才能具有名称。 有关默认配置和无名称绑定和行为的详细信息,请参阅 WCF 服务的 简化配置 和 简化配置。 |
| openTimeout | 一个 TimeSpan 值,该值指定为打开作完成提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。 |
| proxyAddress | 一个 URI,指定 HTTP 代理的地址。
useSystemWebProxy如果是true,则此设置必须是 null。 默认值为 null。 |
| receiveTimeout | 一个 TimeSpan 值,该值指定为接收作完成提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。 |
| sendTimeout | 一个 TimeSpan 值,该值指定为要完成的发送作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。 |
| transferMode。 | 一个 TransferMode 值,该值指示配置有绑定的服务是使用流传输还是缓冲模式(或两者)传输消息。 默认值为 Buffered。 |
| useDefaultWebProxy | 一个布尔值,该值指定是否使用系统自动配置的 HTTP 代理。 默认值为 true。 |
| writeEncoding | 指定用于消息文本的字符编码。 有效值包括: UnicodeFffeTextEncoding:Unicode BigEndian 编码。 Utf16TextEncoding:16 位编码。 Utf8TextEncoding:8 位编码。 默认值为 Utf8TextEncoding。 |
子元素
| 元素 | Description |
|---|---|
| <readerQuotas> | 定义由使用此绑定配置的终结点可以处理的 POX 消息的复杂性的约束。 此元素的类型 XmlDictionaryReaderQuotasElement为 . |
| <安全> | 定义绑定的安全设置。 此元素的类型 WebHttpSecurityElement为 . |
父元素
| 元素 | Description |
|---|---|
| <绑定> | 此元素包含标准绑定和自定义绑定的集合。 |
注解
WCF Web 编程模型允许开发人员通过 HTTP 请求公开 WCF Web 服务,这些请求使用“普通旧 XML”(POX)样式消息传送,而不是基于 SOAP 的消息传送。 若要使客户端能够使用 HTTP 请求与服务通信,必须使用 WebHttpBehavior< 附加到它的 >配置服务的终结点。
在 WCF 中支持联合和 ASP。AJAX 集成都是基于 Web 编程模型构建的。 有关模型的详细信息,请参阅 WCF Web HTTP 编程模型。