系统提供的互操作性绑定支持的 Web 服务协议
Windows Communication Foundation (WCF) 可以与 Web 服务进行互操作,它支持一组称为 Web 服务规范的规范。为了简化互操作性最佳做法的服务配置,WCF 引入三个可互操作的系统提供绑定:System.ServiceModel.BasicHttpBinding、System.ServiceModel.WSHttpBinding 和 System.ServiceModel.WSDualHttpBinding。对于与结构化信息标准促进组织 (OASIS) 标准的互操作性,WCF 包括一个可互操作的系统提供绑定:System.ServiceModel.WS2007HttpBinding。对于元数据发布,WCF 包括两个可互操作的系统提供绑定;<mexHttpBinding> 和 <mexHttpsBinding>。本主题列出系统提供的可互操作绑定支持的规范。
basicHttpBinding、wsHttpBinding、ws2007HttpBinding 和 wsDualHttpBinding 绑定支持的 Web 服务协议
所有绑定
basicHttpBinding、wsHttpBinding 和 ws2007HttpBinding 绑定支持以下协议。
提示
有关用于发布元数据的绑定的信息,请参见本主题后面的“系统提供的元数据绑定”一节。
类别 | 协议 | 规范和用法 |
---|---|---|
传输 |
HTTP 1.1 |
BasicHttpBinding、WSHttpBinding 和 WS2007HttpBinding 使用 HTTP 和 HTTPS 传输。 |
消息传递 |
MTOM |
basicHttpBinding、wsHttpBinding 和 ws2007HttpBinding 支持消息传输优化机制 (MTOM)。默认情况下不使用。若要使用 MTOM,请将 示例:
|
元数据 |
WSDL 1.1 |
WCF 使用 Web 服务描述语言 (WSDL) 描述服务。 |
Metadata |
WS-Policy |
WCF 使用 WS-Policy 规范和特定于域的断言描述服务要求和功能。 |
Metadata |
WS-Policy 1.5 |
WCF 使用 WS-Policy 规范和特定于域的断言描述服务要求和功能。 |
Metadata |
WS-PolicyAttachment |
WCF 实现 WS-PolicyAttachment 以在各个范围使用 Web 服务描述语言 (WSDL) 附加策略表达式。 |
Metadata |
WS-MetadataExchange |
WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。 |
basicHttpBinding
类别 | 协议 | 规范和用法 |
---|---|---|
消息传递 |
SOAP 1.1 |
basicHttpBinding 元素根据基本配置文件 1.1 实现 SOAP 1.1 消息协议。 |
安全性 |
WSS SOAP 消息安全 1.0 |
basicHttpBinding 元素根据基本安全配置文件为用户名/密码和基于 X.509 的安全实现 Web 服务安全 (WSS) SOAP 消息安全 1.0 规范。
|
安全性 |
WSS SOAP 消息安全用户名令牌配置文件 1.0 |
|
安全性 |
WSS SOAP 消息安全 X.509 证书令牌配置文件 1.0 |
WSS SOAP 消息安全 X.509 证书令牌配置文件 1.0
|
wsHttpBinding、ws2007HttpBinding 和 wsDualHttpBinding
类别 | 协议 | 规范和用法 |
---|---|---|
消息传递 |
SOAP 1.2 |
|
消息传递 |
WS-Addressing 2005/08 |
Web Services Addressing 1.0 - SOAP wsHttpBinding、ws2007HttpBinding 和 wsDualHttpBinding 实现万维网联合会 (W3C) WS-Addressing 建议以启用异步消息传递、消息关联和非特定传输寻址机制。 |
安全性 |
WSS SOAP 消息安全 1.0 |
当 securityMode 属性设置为“wsSecurityOverHttp”(默认值)并使用 wsSecurity 子元素配置了参数时使用。
|
安全性 |
WSS SOAP 消息安全用户名令牌配置文件 1.1 |
当 wsSecurity 元素的 authenticationMode 属性设置为“Username”时使用。
|
安全性 |
WSS SOAP 消息安全 X.509 证书令牌配置文件 1.1 |
WSS SOAP 消息安全 X.509 证书令牌配置文件 1.1 当 wsSecurity 元素的 authenticationMode 属性设置为“Username”、“Certificate”或“None”时用于消息保护。另外,当 wsSecurity 元素的 authenticationMode 属性设置为“Certificate”时用于客户端身份验证。
|
安全性 |
WSS SOAP 消息安全 Kerberos 令牌配置文件 1.1 |
WSS SOAP 消息安全 Kerberos 令牌配置文件 1.1 当 wsSecurity 元素的 authenticationMode 属性设置为“Windows”时用于身份验证和消息保护。
|
安全性 |
WS-SecureConversation |
当 security/@mode 属性设置为“Message”且 message/@establishSecurityContext 属性设置为“true”(默认值)时用于提供安全会话。 |
安全性 |
WS-Trust |
由 WS-SecureConversation 使用(参见上面)。 |
可靠消息传递 |
WS-ReliableMessaging |
当绑定配置为使用 reliableSession 时使用。
|
事务 |
WS-AtomicTransaction |
用于在事务管理器之间通信。WCF 客户端和服务始终使用本地事务管理器。 |
Transactions |
WS-Coordination |
当 flowTransactions 属性设置为“Allowed”或“Required”时用于对事务上下文进行流处理。
|
wsFederationHttpBinding 和 ws2007FederationHttpBinding
引入了 wsFederationHttpBinding 和 ws2007FederationHttpBinding 元素以便为联合方案(其中第三方颁发用于对客户端进行身份验证的令牌)提供支持。除了 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 |
|
消息传递 |
SOAP 1.2 |
|
消息传递 |
WS-Addressing 2005/08 |
|
Metadata |
WS-MetadataExchange |
WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。 |
mexHttpsBinding
<mexHttpsBinding> 绑定支持以下协议。有关 使用此绑定的更多信息,请参见发布元数据。
类别 | 协议 | 规范和用法 |
---|---|---|
Transport |
HTTP 1.1 |
提示 启用传输安全。 |
消息传递 |
SOAP 1.2 |
|
消息传递 |
WS-Addressing 2005/08 |
|
Metadata |
WS-MetadataExchange |
WCF 实现 WS-MetadataExchange 以检索 XML 架构、WSDL 和 WS-Policy。 |
另请参见
概念
其他资源
basicHttpBinding Element
wsHttpBinding Element
wsHttpDualHttpBinding Element
<mexHttpsBinding>
<mexHttpBinding>