表示一个绑定,Windows Communication Foundation (WCF) 服务可以使用此绑定配置和公开能够与基于 ASMX 的 Web 服务和客户端通信的终结点以及符合 WS-I Basic Profile 1.1 标准的其他服务。

 
<basicHttpBinding>
<binding
allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
envelopeVersion="None/Soap11/Soap12"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
useDefaultWebProxy="Boolean"
<security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
<transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
realm="string" />
<message
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="UserName/Certificate"/>
</security>
<readerQuotas
maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer" maxNameTableCharCount="Integer" maxStringContentLength="Integer" />
</binding>
</basicHttpBinding>

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

属性

 

特性

说明

allowCookies

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

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

bypassProxyOnLocal

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

如果 Internet 资源具有本地地址,则该资源是本地资源。 本地地址是指位于相同的计算机、本地 LAN 或 Intranet 上的地址,在语法上通过省略句点 (.)(如 URI“http://webserver/”和“http://localhost/”)来标识本地地址。

通过设置此属性,可以确定在访问本地资源时,采用 BasicHttpBinding 配置的终结点是否使用代理服务器。 如果此属性为 true,则对本地 Internet 资源的请求不使用代理服务器。 当此属性设置为 true 时,如果希望客户端在与同一台计算机上的服务通话时使用代理,请使用主机名称(而非 localhost)。

当此属性为 false 时,所有 Internet 请求都通过代理服务器发出。

closeTimeout

一个 TimeSpan 值,指定为完成关闭操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。

envelopeVersion

指定用于通过此绑定处理的消息的 SOAP 版本。 只有 Soap11 是有效值。

hostnameComparisonMode

指定用于分析 URI 的 HTTP 主机名比较模式。 此属性的类型为 HostnameComparisonMode,指示在对 URI 进行匹配时,是否使用主机名来访问服务。 默认值为 StrongWildcard(),表示在匹配过程中忽略主机名。

maxBufferPoolSize

一个整数值,指定为从通道接收消息的消息缓冲区管理器分配并供其使用的最大内存量。 默认值为 524288 (0x80000) 字节。

通过使用缓冲池,缓冲区管理器可将使用缓冲区的开销降到最低。 当消息离开通道时,服务需要使用缓冲区来处理这些消息。 如果缓冲池中的内存不够用来处理消息负载,则缓冲区管理器必须从 CLR 堆分配更多内存,而这会增加垃圾回收的系统开销。 从 CLR 垃圾堆进行大量分配表明缓冲池太小,可以通过提高此属性指定的限制来实现更大的内存分配,从而提高性能。

maxBufferSize

一个整数值,指定为采用此绑定配置的终结点处理消息时存储消息的缓冲区的最大大小(字节)。 默认值为 65,536 字节。

maxReceivedMessageSize

一个正整数,定义在采用此绑定配置的通道上可以接收的消息的最大消息大小(字节),包括消息头。 如果消息对于接收方而言太大,则发送方将收到 SOAP 错误。 接收方将删除该消息,并在跟踪日志中创建事件项。 默认值为 65,536 字节。

messageEncoding

定义用于对 SOAP 消息进行编码的编码器。 包括以下有效值:

  • Text:使用文本消息编码器。

  • Mtom:使用消息传输组织机制 1.0 (MTOM) 编码器。

默认值为 Text。 此特性的类型为 WSMessageEncoding

name

一个包含绑定的配置名称的字符串。 因为此值用作绑定的标识,所以它应该是唯一的。 每个绑定都具有 name 和 namespace 属性,它们共同在服务的元数据中唯一标识每个绑定。 此外,在同一类型的绑定中,此名称是唯一的。 从 .NET Framework 4 开始,不要求绑定和行为具有名称。 有关默认配置以及无名称绑定和行为的更多信息,请参见简化配置WCF 服务的简化配置

namespace

指定绑定的 XML 命名空间。 默认值为“http://tempuri.org/Bindings”。 每个绑定都具有 name 和 namespace 属性,它们共同在服务的元数据中唯一标识每个绑定。

openTimeout

一个 TimeSpan 值,指定为完成打开操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。

proxyAddress

一个包含 HTTP 代理地址的 URI。 如果 useSystemWebProxy 设置为 true,则此设置必须为 null。 默认值为 null。

receiveTimeout

一个 TimeSpan 值,指定为完成接收操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:10:00。

sendTimeout

一个 TimeSpan 值,指定为完成发送操作提供的时间间隔。 此值应大于或等于 Zero。 默认值为 00:01:00。

textEncoding

设置要用来在绑定上发出消息的字符集编码。 包括以下有效值:

  • BigEndianUnicode:Unicode BigEndian 编码。

  • Unicode:16 位编码。

  • UTF8:8 位编码

默认值为 UTF8。 此属性的类型为 Encoding

transferMode

一个有效的 TransferMode 值,指定为请求或响应对消息进行缓冲处理还是流式处理。

useDefaultWebProxy

一个布尔值,指定是否应在可用时使用系统的自动配置 HTTP 代理。 默认值为 true。

子元素

 

元素

说明

<basicHttpBinding> 的 <security>

定义绑定的安全设置。 此元素的类型为 BasicHttpSecurityElement

<readerQuotas>

定义可由采用此绑定配置的终结点进行处理的 SOAP 消息的复杂性约束。 此元素的类型为 XmlDictionaryReaderQuotasElement

父元素

 

元素

说明

<bindings>

此元素包含标准绑定和自定义绑定的集合。

BasicHttpBinding 使用 HTTP 作为传输协议来发送 SOAP 1.1 消息。 服务可以使用此绑定来公开符合 WS-I BP 1.1 标准的终结点,例如 ASMX 客户端使用的终结点。 同样,客户端可以使用 BasicHttpBinding 与公开符合 WS-I BP 1.1 标准的终结点的服务(如 ASMX Web 服务或采用 BasicHttpBinding 配置的服务)进行通信。

安全性默认情况下处于禁用状态,但是通过将 <basicHttpBinding> 的 <security>None 子元素的模式属性设置为不同于 的值,可以添加安全性。 默认情况下,它使用“Text”消息编码和 UTF-8 文本编码。

下面的示例演示如何使用 BasicHttpBinding 提供 HTTP 通信以及与第一代和第二代 Web 服务的最大互操作性。 绑定是在客户端和服务的配置文件中指定的。 绑定类型是使用 <endpoint> 元素的 binding 属性指定的。 如果要配置基本绑定并更改它的某些设置,则必须定义一个绑定配置。 终结点必须使用 <endpoint> 元素的 bindingConfiguration 属性按名称引用绑定配置,如以下服务配置代码所示。

<system.serviceModel>
<services>
<service
type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="Binding1"
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true" >
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>

从 .NET Framework 4 开始,不要求绑定和行为具有名称。通过从终结点地址移除 bindingConfiguration 并从绑定移除名称,可以实现上一个示例中的功能。

<system.serviceModel>
<services>
<service
type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true" >
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>

有关默认配置以及无名称绑定和行为的更多信息,请参见简化配置WCF 服务的简化配置

basicHttpBinding的更多相关文章

  1. WCF basicHttpBinding之Transport Security Mode, clientCredentialType="None"

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html 转载请注明出处 前面文章介绍了<WCF basicHttpBinding之Message Sec ...

  2. WCF basicHttpBinding之Message Security Mode

    原创地址:http://www.cnblogs.com/jfzhu/p/4067873.html 转载请注明出处 前面的文章<WCF Security基本概念>介绍了WCF的securit ...

  3. (转)webHttpBinding、basicHttpBinding和wsHttpBinding区别

      (1)webHttpBinding与basicHttpBinding / wsHttpBinding的区别: webHttpBinding is the REST-style binding, w ...

  4. WCF 用netTcpbinding,basicHttpBinding 传输大文件

    问题:WCF如何传输大文件 方案:主要有几种绑定方式netTcpbinding,basicHttpBinding,wsHttpbinding,设置相关的传输max消息选项,服务端和客户端都要设置,tr ...

  5. WCF系列(六) - WCF安全系列(一) - basicHttpBinding

    绑定可指定在与终结点通话时所使用的通信机制,并指示如何连接到终结点.绑定由一些元素组成,这些元素指定如何对 Windows Communication Foundation (WCF) 通道进行分层以 ...

  6. webhttpbinding、basichttpbinding和wshttpbinding的区别

    webhttpbinding是REST风格的绑定,您只需点击一个URL,然后从Web服务中获取大量XML或JSON. basichttpbinding和wshttpbinding是两个基于SOAP的绑 ...

  7. WCF 客户端 BasicHttpBinding 兼容 HTTPS 和 HTTP

    背景:全站HTTPS的时代来了 全站HTTPS,请参考:http://www.cnblogs.com/bugly/p/5075909.html 1. 设置BasicHttpBinding的BasicH ...

  8. webHttpBinding、basicHttpBinding和wsHttpBinding区别

    webHttpBinding is the REST-style binding, where you basically just hit a URL and get back a truckloa ...

  9. WCF--找不到具有绑定 BasicHttpBinding 的终结点的与方案 https 匹配的基址。注册的基址方案是 [http]。

    <system.serviceModel> <services> <service name="xxxxx.xxxxxx"> <endpo ...

随机推荐

  1. Python PIL : IOError: decoder jpeg not available

    The first thing I check when I got this error was to check if libjpeg was installed. Lets try this s ...

  2. PyQt4 HardwareManager

    # PyQt4 HardwareManager # 声明: # 本软件主要是由于朋友说想要一个产品缺陷记录软件,主要用于记录产品缺陷, # 通过产品序列号进行插入.查询,本来想用VC++ 6.0做,但 ...

  3. 1106 1014 C语言文法定义与C程序的推导过程 冒泡程序语法树

  4. Animation获得当前播放的第几帧

    http://blog.csdn.net/cocos2der/article/details/8728443 http://www.it165.net/pro/html/201405/13204.ht ...

  5. AbstractBeanDefinition:lenientConstructorResolution属性源码分析

    版本:spring-framework-4.1 一概述 在看AbstractBeanDefinition源码时,注意到lenientConstructorResolution属性有诸多不疑,现在通过示 ...

  6. bootstrap 在超小屏布局时使用 clearfix

    bootstrap 在超小屏布局时使用 clearfix 先看案例,一共四个 div,使用 col-xs-6, 所以在特别小型设备上时会变成两行. 不过我们发现如果第一个 div 内容多了后会变成如下 ...

  7. Hive之 hive-1.2.1 + hadoop 2.7.4 集群安装

    一. 相关概念 Hive Metastore有三种配置方式,分别是: Embedded Metastore Database (Derby) 内嵌模式Local Metastore Server 本地 ...

  8. oracle数据库启动时出现ORA-01157和ORA-01110问题

    sql>startup mount; sql>alter database open; RA-01157: 无法标识/锁定数据文件 10 - 请参阅 DBWR 跟踪文件ORA-01110: ...

  9. [Android] 开发第七天

    在另一台机器上安装 Android-Studio ,结果卡在了 Gradle 的下载界面上,网上各种方案都试了一遍,最终解决办法是: 然后新建了一个 App ,创建了新的签名并上传到手机上,安装时直接 ...

  10. 1021 docker prometheus监控体系

    jmeter plugin监控的信息很少,只有cpu.内存.网络IO,但这些是不够的.例如对于分析mysql数据库的慢查询.最大连接数等更加细密度的信息. 服务端稳定测试的三个前提: 1.应用级别的自 ...