Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WCF hizmetleri WS-Addressing belirtiminin Ağustos 2004 sürümünü kullanacak şekilde yapılandırıldığında Windows Communication Foundation (WCF) hizmetleri Microsoft .NET (WSE) istemcileri için Web Hizmetleri Geliştirmeleri 3.0 ile uyumlu kablo düzeyindedir.
WcF hizmetinin WSE 3.0 istemcileriyle birlikte çalışmasını sağlamak için
WCF hizmeti için özel bir bağlama tanımlayın.
İleti kodlaması için WS-Addressing belirtiminin Ağustos 2004 sürümünün kullanılacağını belirtmek için özel bir bağlama oluşturulmalıdır.
Hizmetin yapılandırma dosyasının bağlamalarına> bir alt< customBinding> ekleyin.<
customBinding öğesine bağlama ekleyerek ve özniteliğini ayarlayarak
name
bağlama>< için bir< ad belirtin.>Bağlamaya bir alt <güvenlik> ekleyerek WSE 3.0 ile uyumlu iletilerin güvenliğini sağlamak için kullanılan bir kimlik doğrulama modu ve WS-Security belirtimlerinin <sürümünü belirtin.>
Kimlik doğrulama modunu ayarlamak için güvenliğin
authenticationMode
><özniteliğini ayarlayın. Kimlik doğrulama modu, WSE 3.0'daki anahtar teslimi güvenlik onaylarına kabaca eşdeğerdir. Aşağıdaki tablo WCF'deki kimlik doğrulama modlarını WSE 3.0'daki anahtar teslimi güvenlik onaylarına eşler.WCF Kimlik Doğrulama Modu WSE 3.0 anahtar teslimi güvenlik onayı AnonymousForCertificate anonymousForCertificateSecurity
Kerberos kerberosSecurity
MutualCertificate mutualCertificate10Security
*MutualCertificate mutualCertificate11Security
*UserNameOverTransport usernameOverTransportSecurity
UserNameForCertificate usernameForCertificateSecurity
* ve
mutualCertificate11Security
anahtar teslimi güvenlik onayları arasındakimutualCertificate10Security
birincil farklardan biri, WSE'nin SOAP iletilerinin güvenliğini sağlamak için kullandığı WS-Security belirtiminin sürümüdür. içinmutualCertificate10Security
WS-Security 1.0 kullanılırken, WS-Security 1.1 içinmutualCertificate11Security
kullanılır. WCF için, güvenlik özniteliğindemessageSecurityVersion
WS-Security belirtiminin>< sürümü belirtilir.SOAP iletilerinin güvenliğini sağlamak için kullanılan WS-Security belirtiminin sürümünü ayarlamak için, güvenliğin>< özniteliğini ayarlayın.
messageSecurityVersion
WSE 3.0 ile birlikte çalışabilmek için özniteliğininmessageSecurityVersion
değerini olarak WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10ayarlayın.WS-Addressing belirtiminin Ağustos 2004 sürümünün WCF tarafından textMessageEncoding eklenerek kullanıldığını belirtin ve değerini Soap11WSAddressingAugust2004olarak ayarlayın
messageVersion
.<>Not
SOAP 1.2 kullanırken özniteliğini
messageVersion
olarak Soap12WSAddressingAugust2004ayarlayın.
Hizmetin özel bağlamayı kullandığını belirtin.
binding
endpoint> öğesinin< özniteliğini olarakcustomBinding
ayarlayın.bindingConfiguration
Uç nokta> öğesinin <özniteliğini, özel bağlama için bağlamanın<> özniteliğindename
belirtilen değere ayarlayın.
Örnek
Aşağıdaki kod örneği, WSE 3.0 istemcileri ile birlikte çalışmak için özel bir bağlama kullandığını belirtir Service.HelloWorldService
. Özel bağlama, WS-Addressing'in Ağustos 2004 sürümünün ve WS-Security 1.1 belirtim kümesinin, değiştirilen iletileri kodlamak için kullanıldığını belirtir. İletilerin güvenliği kimlik doğrulama modu kullanılarak AnonymousForCertificate sağlanır.
<configuration>
<system.serviceModel>
<services>
<service
behaviorConfiguration="ServiceBehavior"
name="Service.HelloWorldService">
<endpoint binding="customBinding" address=""
bindingConfiguration="ServiceBinding"
contract="Service.IHelloWorld"></endpoint>
</service>
</services>
<bindings>
<customBinding>
<binding name="ServiceBinding">
<security authenticationMode="AnonymousForCertificate"
messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireDerivedKeys="false">
</security>
<textMessageEncoding messageVersion ="Soap11WSAddressingAugust2004"></textMessageEncoding>
<httpTransport/>
</binding>
</customBinding>
</bindings>
<behaviors>
<behavior name="ServiceBehavior" returnUnknownExceptionsAsFaults="true">
<serviceCredentials>
<serviceCertificate findValue="CN=WCFQuickstartServer" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectDistinguishedName"/>
</serviceCredentials>
</behavior>
</behaviors>
</system.serviceModel>
</configuration>