65.9K
CodeProject 正在变化。 阅读更多。
Home

WCF 4.5 新特性:BasicHttpsBinding

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.40/5 (4投票s)

2012 年 2 月 8 日

CPOL

2分钟阅读

viewsIcon

41245

WCF 4.5 中的 BasicHttpsBinding

这是 WCF 4.5 系列的第七篇文章。在之前的文章中,我们探讨了 WCF 4.5 和 IIS 的两个新的安全特性——单个端点支持多种客户端凭据默认 HTTPS 端点,这两个新特性都是 IIS 特有的(或者更准确地说,是 Web 托管特有的)。在这篇文章中,我们将研究 WCF 4.5 中的一个新的安全配置选项——BasicHttpsBinding

之前的文章

  1. WCF 4.5 有什么新内容?让我们从 WCF 配置开始
  2. WCF 4.5 有什么新内容?单个 WSDL 文件
  3. WCF 4.5 有什么新内容?配置文件中的工具提示和智能感知
  4. WCF 4.5 有什么新内容?配置验证
  5. WCF 4.5 有什么新内容?IIS 中单个端点支持多种身份验证
  6. 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>

注意:由于这是一个安全的绑定,安全模式只能是 传输传输WithMessageCredentialTransportCredentialOnly 不支持这种类型的绑定。

敬请期待更多关于 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 的会议。

© . All rights reserved.