表示一个绑定,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. how to play

    陷入难以言说的深深的绝望 无力,无助,暗无天日,看不到光明,看不到未来,不知道何去何从 但我依然坚信这道坎一定可以过去,黎明前的夜总是黑暗的,属于我的光明终将来临 沼泽中的旅行者,只要还没死掉,就还没 ...

  2. Linux下MySQL的安装和启动(转载)

    原文链接:http://www.linuxidc.com/Linux/2016-07/133234.htm 一.MySQL各类安装方法的比较 在Linux系统下,MySQL有3种主要的安装方式,分别是 ...

  3. 第2课 C到C++的升级

    C与C++的关系: C++在C语言的基础上进行的升级最重要的是两个方面: 1.类型的加强,C++更称得上是高级语言,C++语言对于类型的检查更严格 2.面向对象的支持,天生支持面向对象软件开发方法学 ...

  4. cuDnn的安装ubuntu16.04环境下(tensorflow正式安装之前的必备安装操作)

    首先,下载cuDnn,地址如下: https://developer.nvidia.com/rdp/cudnn-archive 本人下载,Linux版本: 解压: tar -zxvf cudnn-8. ...

  5. NameError: name 'picamera' is not defined

    /********************************************************************************* * NameError: name ...

  6. 浅谈SQL Server---2

    浅谈SQL Server内部运行机制 https://www.cnblogs.com/wangjiming/p/10098061.html 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说, ...

  7. python3 scrapy 使用selenium 模拟浏览器操作

    零. 在用scrapy爬取数据中,有写是通过js返回的数据,如果我们每个都要获取,那就会相当麻烦,而且查看源码也看不到数据的,所以能不能像浏览器一样去操作他呢? 所以有了-> Selenium ...

  8. 在VS2008中使用WSE 3.0【转】

    原文:http://www.cnblogs.com/chenxizhang/archive/2008/07/25/1251626.html 在VS2008中使用WSE 3.0 WSE 是微软推出的一套 ...

  9. [TopCoder12141]SweetFruits

    vjudge description 有\(n\)个水果,有一些水果是香的,它们各有一个香度值,剩下的水果是不香的. 现在你要把这\(n\)个水果连成一棵树,定义一个水果是真香的当且仅当它是香的且他与 ...

  10. C Socket编程之Connect超时 (转)

    网络编程中socket的分量我想大家都很清楚了,socket也就是套接口,在套接口编程中,提到超时的概念,我们一下子就能想到3个:发送超时,接收超时,以及select超时(注:select函数并不是只 ...