WCF 4.5 新特性:BasicHttpsBinding






4.40/5 (4投票s)
WCF 4.5 中的 BasicHttpsBinding
这是 WCF 4.5 系列的第七篇文章。在之前的文章中,我们探讨了 WCF 4.5 和 IIS 的两个新的安全特性——单个端点支持多种客户端凭据和默认 HTTPS 端点,这两个新特性都是 IIS 特有的(或者更准确地说,是 Web 托管特有的)。在这篇文章中,我们将研究 WCF 4.5 中的一个新的安全配置选项——BasicHttpsBinding
。
之前的文章
- WCF 4.5 有什么新内容?让我们从 WCF 配置开始
- WCF 4.5 有什么新内容?单个 WSDL 文件
- WCF 4.5 有什么新内容?配置文件中的工具提示和智能感知
- WCF 4.5 有什么新内容?配置验证
- WCF 4.5 有什么新内容?IIS 中单个端点支持多种身份验证
- WCF 4.5 有什么新内容?IIS 的自动 HTTPS 端点
传输安全自 WCF 发布之初就受到支持,你可以通过设置绑定中的安全模式来配置它。
<bindings>
<basicHttpBinding>
<binding name="secured">
<security mode="Transport">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
在 WCF 中声明基于传输安全的端点非常容易,但需要编写一些绑定配置在config文件中。WCF 4.5 通过添加一种新的绑定类型——basicHttpsBinding来减少配置量。
basicHttpsBinding
类似于basicHttpBinding
,只是它具有以下默认值:
- 安全模式 = 传输
- 客户端凭据类型 = 无
使用 basicHttps
绑定设置端点非常简单
<services>
<service name="WcfServiceLibrary1.Service1">
<host>
<baseAddresses>
<add baseAddress =
"https://:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
<add baseAddress =
"https://:44310/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding"
contract="WcfServiceLibrary1.IService1"/>
<endpoint address="" binding="basicHttpsBinding"
contract="WcfServiceLibrary1.IService1"/>
</service>
</services>
如果你想更改安全端点的默认客户端凭据类型,你需要为安全端点创建一个绑定配置
<bindings>
<basicHttpsBinding>
<binding>
<security>
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpsBinding>
</bindings>
注意:由于这是一个安全的绑定,安全模式只能是 传输
或 传输WithMessageCredential
。TransportCredentialOnly
不支持这种类型的绑定。
敬请期待更多关于 WCF 4.5 新特性的文章。你也可以在 Twitter 上关注我 (@IdoFlatow),以便在发布新文章时获得更新。
.NET 4.5 的 RTM 尚未发布,我假设你们中的许多人仍在适应 WCF 4。如果你想了解更多关于 WCF 4 的新特性,请参加我在雷德蒙德举行的 Visual Studio Live! 2011 的会议(10 月 17 日至 21 日)。
此外,如果你是 MCT 并且居住在美国,请参加我在旧金山举行的MCT 2011 北美峰会(10 月 19 日至 21 日)关于 WCF 4 的会议。