表示一个绑定,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. 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转

    感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-- ...

  2. 重启Tomcat还可以这样玩的哦

  3. 第9课 函数重载分析(下)与C、C++相互调用

    重载与指针 下面的函数指针将保存哪个函数的地址: 在给p赋值的时候,我们使用了func,但是这里并没有指明参数,编译器是怎么知道这个func函数指的是第一个func函数呢? 函数重载遇上指针: 将重载 ...

  4. Java第六次作业--异常处理和Java类集

    Deadline: 2017-5-4 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 理解Java的异常处理机制 掌握捕获异常和声明抛出异常的方法 掌握List接口的实现类Array ...

  5. error: 'ENOSYS' undeclared (first use in this function)

    /************************************************************************ * error: 'ENOSYS' undeclar ...

  6. LOJ2319. 「NOIP2017」列队【线段树】

    LINK 思路 神仙线段树 你考虑怎么样才能快速维护出答案 首先看看一条链怎么做? 首先很显然的思路是维护每个节点的是否出过队 然后对于重新入队的点 直接在后面暴力vector存一下就可以了 最核心的 ...

  7. 获取刚刚插入表格的这条信息的自增ID

    获取刚刚插入表格的这条信息的自增ID var conn=getConnection(); var msql="INSERT INTO " + table +" (&quo ...

  8. 【java】JDK环境变量配置

    1.双击下载的JDK  设置安装路径.这里我们选择默认安装在C:\Program Files\Java\jdk1.8.0_51(java 环境分JDK 和JRE ,JDK就是Java Developm ...

  9. HDU 2846 Repository(字典树,每个子串建树,*s的使用)

    Repository Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  10. Spring MVC的困惑url-pattern /和/*的区别

    今天在写项目时发现一个spring 总是报org.springframework.web.servlet.DispatcherServlet noHandlerFound警告: No mapping ...