系统提供的互操作性绑定支持的 Web 服务协议

Windows Communication Foundation (WCF) 可以与 Web 服务进行互操作,它支持一组称为 Web 服务规范的规范。为了简化互操作性最佳做法的服务配置,WCF 引入三个可互操作的系统提供绑定:System.ServiceModel.BasicHttpBindingSystem.ServiceModel.WSHttpBindingSystem.ServiceModel.WSDualHttpBinding。对于与结构化信息标准促进组织 (OASIS) 标准的互操作性,WCF 包括一个可互操作的系统提供绑定:System.ServiceModel.WS2007HttpBinding。对于元数据发布,WCF 包括两个可互操作的系统提供绑定;<mexHttpBinding><mexHttpsBinding>。本主题列出系统提供的可互操作绑定支持的规范。

basicHttpBinding、wsHttpBinding、ws2007HttpBinding 和 wsDualHttpBinding 绑定支持的 Web 服务协议

所有绑定

basicHttpBindingwsHttpBindingws2007HttpBinding 绑定支持以下协议。

提示

有关用于发布元数据的绑定的信息,请参见本主题后面的“系统提供的元数据绑定”一节。

类别 协议 规范和用法

传输

HTTP 1.1

HTTP 1.1

BasicHttpBindingWSHttpBindingWS2007HttpBinding 使用 HTTP 和 HTTPS 传输。

消息传递

MTOM

MTOM

basicHttpBindingwsHttpBindingws2007HttpBinding 支持消息传输优化机制 (MTOM)。默认情况下不使用。若要使用 MTOM,请将 messageEncoding 属性设置为 "Mtom"

示例:

<wsHttpBinding>
<binding messageEncoding="Mtom"/>
</wsHttpBinding>

元数据

WSDL 1.1

WSDL 1.1

WCF 使用 Web 服务描述语言 (WSDL) 描述服务。

Metadata

WS-Policy

WS-Policy

WCF 使用 WS-Policy 规范和特定于域的断言描述服务要求和功能。

Metadata

WS-Policy 1.5

WS-Policy 1.5

WCF 使用 WS-Policy 规范和特定于域的断言描述服务要求和功能。

Metadata

WS-PolicyAttachment

WS-PolicyAttachment

WCF 实现 WS-PolicyAttachment 以在各个范围使用 Web 服务描述语言 (WSDL) 附加策略表达式。

Metadata

WS-MetadataExchange

WS-MetadataExchange

WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。

basicHttpBinding

类别 协议 规范和用法

消息传递

SOAP 1.1

SOAP 1.1

basicHttpBinding 元素根据基本配置文件 1.1 实现 SOAP 1.1 消息协议。

安全性

WSS SOAP 消息安全 1.0

WSS SOAP 消息安全 1.0

basicHttpBinding 元素根据基本安全配置文件为用户名/密码和基于 X.509 的安全实现 Web 服务安全 (WSS) SOAP 消息安全 1.0 规范。

<basicHttpBinding>
<binding name="Binding1">
<security mode="TransportWithMessageCredential | 
                   "Message" .../>
</binding>
</BasicHttpBinding>

安全性

WSS SOAP 消息安全用户名令牌配置文件 1.0

WSS SOAP 消息安全用户名令牌配置文件 1.0

<BasicHttpBinding>
<binding name="Binding1">
<security mode="TransportWithMessageCredential">
<transport credentialType="Basic"/>
</security>
</BasicHttpBinding>

安全性

WSS SOAP 消息安全 X.509 证书令牌配置文件 1.0

WSS SOAP 消息安全 X.509 证书令牌配置文件 1.0

<BasicHttpBinding>
  <security mode="Message">
<message credentialType="Certificate"/>
</security>
</BasicHttpBinding>

wsHttpBinding、ws2007HttpBinding 和 wsDualHttpBinding

类别 协议 规范和用法

消息传递

SOAP 1.2

入门

消息传送框架

附属(包括 HTTP 绑定)

消息传递

WS-Addressing 2005/08

Web 服务寻址 1.0 – 核心

Web Services Addressing 1.0 - SOAP

wsHttpBindingws2007HttpBindingwsDualHttpBinding 实现万维网联合会 (W3C) WS-Addressing 建议以启用异步消息传递、消息关联和非特定传输寻址机制。

安全性

WSS SOAP 消息安全 1.0

WSS SOAP 消息安全 1.0

securityMode 属性设置为“wsSecurityOverHttp”(默认值)并使用 wsSecurity 子元素配置了参数时使用。

<wsHttpBinding>
  <binding name="myBinding">
     <security mode="Message" .../>
  </binding>
</wsHttpBinding>

安全性

WSS SOAP 消息安全用户名令牌配置文件 1.1

WSS SOAP 消息安全用户名令牌配置文件 1.0

wsSecurity 元素的 authenticationMode 属性设置为“Username”时使用。

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="UserName
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
</binding>
</wsHttpBinding>

安全性

WSS SOAP 消息安全 X.509 证书令牌配置文件 1.1

WSS SOAP 消息安全 X.509 证书令牌配置文件 1.1

wsSecurity 元素的 authenticationMode 属性设置为“Username”、“Certificate”或“None”时用于消息保护。另外,当 wsSecurity 元素的 authenticationMode 属性设置为“Certificate”时用于客户端身份验证。

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="Certificate"
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
  </binding>
</wsHttpBinding>

安全性

WSS SOAP 消息安全 Kerberos 令牌配置文件 1.1

WSS SOAP 消息安全 Kerberos 令牌配置文件 1.1

wsSecurity 元素的 authenticationMode 属性设置为“Windows”时用于身份验证和消息保护。

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="Windows"
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
  </binding>
</wsHttpBinding>

安全性

WS-SecureConversation

WS-SecureConversation

security/@mode 属性设置为“Message”且 message/@establishSecurityContext 属性设置为“true”(默认值)时用于提供安全会话。

安全性

WS-Trust

WS-Trust

由 WS-SecureConversation 使用(参见上面)。

可靠消息传递

WS-ReliableMessaging

WS-ReliableMessaging

当绑定配置为使用 reliableSession 时使用。

<wsHttpBinding>
 <binding name="myBinding">
   <reliableSession/>
  </binding>
</wsHttpBinding>

事务

WS-AtomicTransaction

WS-AtomicTransaction

用于在事务管理器之间通信。WCF 客户端和服务始终使用本地事务管理器。

Transactions

WS-Coordination

WS-Coordination

flowTransactions 属性设置为“Allowed”或“Required”时用于对事务上下文进行流处理。

<wsHttpBinding>
  <binding transactionFlow="true"/>
</wsHttpBinding>

wsFederationHttpBinding 和 ws2007FederationHttpBinding

引入了 wsFederationHttpBindingws2007FederationHttpBinding 元素以便为联合方案(其中第三方颁发用于对客户端进行身份验证的令牌)提供支持。除了 wsHttpBinding 使用的协议以外,wsFederationHttpBinding 还使用:

  • 用于令牌颁布的 WS-Trust
  • 用于已颁发令牌最常见格式的 WSS 安全断言标记语言 (SAML) 令牌配置文件 1.0 和 1.1。

示例:

<wsFederationHttpBinding>
  <binding name="myBinding">
     <security mode="Message">
       <message issuedKeyType="Symmetric" 
                issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
         <issuerMetadata address = 
         'https://localhost/FederationSample/HomeRealmSTS/STS.svc/mex'>
       </message>
     </security>
  </binding>
</wsFederationHttpBinding>

有关更多信息,请参见 联合

系统提供的元数据绑定

下表说明系统提供的可互操作元数据绑定(由 System.ServiceModel.Description.MetadataExchangeBindings 类公开)支持的协议。

mexHttpBinding

<mexHttpBinding> 绑定支持以下协议。有关 使用此绑定的更多信息,请参见发布元数据

类别 协议 规范和用法

Transport

HTTP 1.1

HTTP 1.1

消息传递

SOAP 1.2

入门

消息传送框架

附属(包括 HTTP 绑定)

消息传递

WS-Addressing 2005/08

Web 服务寻址 1.0 – 核心

Web Services Addressing 1.0 - SOAP

Metadata

WS-MetadataExchange

WS-MetadataExchange

WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。

mexHttpsBinding

<mexHttpsBinding> 绑定支持以下协议。有关 使用此绑定的更多信息,请参见发布元数据

类别 协议 规范和用法

Transport

HTTP 1.1

HTTP 1.1

提示

启用传输安全。

消息传递

SOAP 1.2

入门

消息传送框架

附属(包括 HTTP 绑定)

消息传递

WS-Addressing 2005/08

Web 服务寻址 1.0 – 核心

Web Services Addressing 1.0 - SOAP

Metadata

WS-MetadataExchange

WS-MetadataExchange

WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。

另请参见

概念

系统提供的绑定

其他资源

basicHttpBinding Element
wsHttpBinding Element
wsHttpDualHttpBinding Element
<mexHttpsBinding>
<mexHttpBinding>