WSHttpBinding
WSHttpBinding 类专用于与实现 WS* 规范的服务进行互操作。此绑定的传输安全为 HTTP 上的安全套接字层 (SSL),即 HTTPS。若要创建使用 SSL 的 WCF 应用程序,请使用 IIS 承载该应用程序。或者,如果您要创建自承载的应用程序,请使用 HttpCfg.exe 工具将 X.509 证书绑定到计算机上的特定端口。端口号作为 WCF 应用程序的一部分以终结点地址的形式进行指定。使用传输模式时,终结点地址必须包括 HTTPS 协议,否则运行时将引发异常。有关更多信息,请参见 HTTP 传输安全。
对于客户端身份验证,请将 HttpTransportSecurity 类的 ClientCredentialType 属性设置为 HttpClientCredentialType 枚举值之一。枚举值与 BasicHttpBinding 的客户端凭据类型等同,并由 IIS 服务承载。
下面的示例演示与 Windows 的客户端凭据类型一起使用的绑定。
WSDualHttpBinding
此绑定只提供消息级别的安全,不提供传输级别的安全。
NetTcpBinding
NetTcpBinding 类使用 TCP 进行消息传输。通过实现 TCP 上的传输层安全性 (TLS) 为传输模式提供安全。由操作系统提供 TLS 实现。
也可以通过将 TcpTransportSecurity 类的 ClientCredentialType 属性设置为 TcpClientCredentialType 值之一来指定客户端的凭据类型,如果下面的代码所示。
客户端
在客户端,必须使用 X509CertificateInitiatorClientCredential 类的 SetCertificate 方法指定证书。
注意: 如果您要使用 Windows 安全性,则不需要证书。
下面的代码使用唯一标识证书的证书指纹。有关 证书的更多信息,请参见使用证书。
或者,在客户端配置中的 behaviors 部分使用 clientCredentials element 指定证书。
<behaviors> <behavior> <clientCredentials> <clientCertificate findValue= "101010101010101010101010101010000000000" storeLocation="LocalMachine" storeName="My" X509FindType="FindByThumbPrint"/> </clientCertificate> </clientCredentials> </behavior></behaviors>
NetNamedPipeBinding
NetNamedPipeBinding 类用于进行有效的计算机内通信;也就是说,虽然可以在同一网络上的两台计算机之间创建命名管道通道,但进程是在同一台计算机上运行的。此绑定只提供传输级别的安全。在创建使用此绑定的应用程序时,终结点地址必须包括“net.pipe”作为终结点地址的协议。
WSFederationHttpBinding
使用传输安全时,此绑定与已颁发的令牌 (TransportWithMessageCredential) 一起使用 HTTP 上的 SSL(称为 HTTPS)。有关 联合身份验证应用程序的更多信息,请参见联合令牌与颁发的令牌。
NetPeerTcpBinding
NetPeerTcpBinding类是旨在使用对等网络功能进行有效通信的一种安全传输。TCP 是协议,这与类和绑定的名称相一致。当安全模式设置为“传输”时,绑定将实现 TCP 上的 TLS。有关 对等功能的更多信息,请参见对等网络。
MsmqIntegrationBinding 和 NetMsmqBinding
有关消息队列(以前称为 MSMQ)的传输安全的完整讨论,请参见使用传输安全保护消息。