<httpTransport>

为自定义绑定指定用于传输 SOAP 消息的 HTTP 传输。

架构层次结构

<system.serviceModel>
  <bindings>
    <customBinding>
      <binding>
        <httpTransport>

语法

<httpTransport
    allowCookies=Boolean"
    authenticationScheme="Digest/Negotiate/Ntlm/Basic/Anonymous"
    bypassProxyOnLocal=Boolean"
    hostnameComparisonMode="StrongWildcard/Exact/WeakWildcard"
    keepAliveEnabled="Boolean"
    maxBufferSize="Integer"
    proxyAddress="Uri"
    proxyAuthenticationScheme="None/Digest/Negotiate/Ntlm/Basic/Anonymous"
IntegratedWindowsAuthentication: Specifies Windows authentication"
    realm="String"
    transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
        unsafeConnectionNtlmAuthentication="Boolean"
        useDefaultWebProxy="Boolean" />

属性和元素

以下几节描述了特性、子元素和父元素。

属性

特性 说明

allowCookies

一个布尔值,指定客户端是否接受 Cookie 并在今后的请求中传播这些 Cookie。默认值为 false

在与使用 Cookie 的 ASMX Web 服务进行交互时,可以使用此属性。通过这种方式,可以确保从服务器返回的 Cookie 自动复制到客户端今后对该服务的所有请求。

authenticationScheme

指定用来验证 HTTP 侦听器正在处理的客户端请求的协议。包括以下有效值:

  • Digest:指定摘要式身份验证。

  • Negotiate:和客户端协商以确定身份验证方案。如果客户端和服务器均支持 Kerberos,则使用 Kerberos;否则使用 NTLM。

  • Ntlm:指定 NTLM 身份验证。

  • Basic:指定基本身份验证。

  • Anonymous:指定匿名身份验证。

默认值为 Anonymous。此属性的类型为 AuthenticationSchemes。此属性只能设置一次。

bypassProxyOnLocal

一个布尔值,指示是否对本地地址不使用代理服务器。默认值为 false

本地地址是指位于本地 LAN 或 Intranet 上的地址。

如果服务地址以 https://localhost 开头,则 Windows Communication Foundation (WCF) 总是忽略代理。

如果希望客户端在与同一台计算机上的服务通话时使用代理,则应使用主机名称而非 localhost。

hostnameComparisonMode

指定用于分析 URI 的 HTTP 主机名比较模式。有效值为

  • StrongWildcard:(“+”) 与指定方案、端口和相对 URI 的上下文中所有可能的主机名进行匹配。

  • Exact:无通配符

  • WeakWildcard:(“*”) 与指定方案、端口和相对 UIR 的上下文中尚未显式匹配或尚未通过强通配符机制匹配的所有可能的主机名进行匹配。

默认值为 StrongWildcard。此属性的类型为 HostnameComparisonMode

keepAliveEnabled

一个布尔值,指定是否与 Internet 资源建立持久性连接。

maxBufferSize

一个正整数,指定缓冲区的最大大小。默认值为 524288。

proxyAddress

一个指定 HTTP 代理地址的 URI。如果 useSystemWebProxytrue,则此设置必须为 null。默认值为 null

proxyAuthenticationScheme

指定用于验证 HTTP 代理正在处理的客户端请求的协议。包括以下有效值:

  • None:不执行任何身份验证。

  • Digest:指定摘要式身份验证。

  • Negotiate:和客户端协商以确定身份验证方案。如果客户端和服务器均支持 Kerberos,则使用 Kerberos;否则使用 NTLM。

  • Ntlm:指定 NTLM 身份验证。

  • Basic:指定基本身份验证。

  • Anonymous:指定匿名身份验证。

  • IntegratedWindowsAuthentication:指定 Windows 身份验证。

默认值为 Anonymous。此属性的类型为 AuthenticationSchemes

realm

一个指定要在代理/服务器上使用的领域的字符串。默认值为一个空字符串。

服务器使用领域将受保护的资源分区。每个分区都可以有自己的身份验证方案和/或授权数据库。领域仅用于基本和摘要式身份验证。在客户端成功进行身份验证之后,该身份验证对给定领域内的所有资源都有效。有关领域的详细说明,请参见位于 http://www.ietf.org 的 RFC 2617。

transferMode

指定对消息进行缓冲处理还是流式处理,或者指定消息是请求还是响应。包括以下有效值:

  • Buffered:对请求和响应消息进行缓冲处理。

  • Streamed:对请求和响应消息进行流式处理。

  • StreamedRequest:对请求消息进行流式处理,对响应消息进行缓冲处理。

  • StreamedResponse:对请求消息进行缓冲处理,对响应消息进行流式处理。

默认值为 Buffered。此属性的类型为 TransferMode

unsafeConnectionNtlmAuthentication

一个布尔值,指定是否在服务器上启用不安全连接共享。默认值为 false。如果启用,将对每个 TCP 连接执行一次 NTLM 身份验证。

useDefaultWebProxy

一个布尔值,指定是否使用计算机范围的代理设置,而不使用用户特定的设置。默认值为 true

子元素

父元素

元素 说明

<binding>

定义自定义绑定的所有绑定功能。

备注

httpTransport 元素是创建实现 HTTP 传输协议的自定义绑定的起始点。HTTP 是用于互操作性用途的主要传输。Windows Communication Foundation (WCF) 支持此传输以确保与其他非 WCF Web 服务堆栈的互操作性。

另请参见

参考

<customBinding>
HttpTransportElement
HttpTransportBindingElement
TransportBindingElement
CustomBinding

其他资源

Transports in Windows Communication Foundation
Choosing a Transport
Windows Communication Foundation Bindings
Extending Bindings
Custom Bindings