İstemci Yapılandırması
İstemcilerin hizmet uç noktalarına bağlanmak için kullandığı istemci uç noktasının adresini, bağlamasını, davranışını ve sözleşmesini, "ABC" özelliklerini belirtmek için Windows Communication Foundation (WCF) istemci yapılandırmasını kullanabilirsiniz. <İstemci> öğesi, uç nokta ABC'lerini> yapılandırmak için öznitelikleri kullanılan bir <uç nokta öğesine sahiptir. Bu öznitelikler, Uç Noktaları Yapılandırma bölümünde açıklanmıştır.
<Endpoint> öğesi ayrıca meta verileri içeri ve dışarı aktarma ayarlarını belirtmek için kullanılan bir< meta veri> öğesi, özel adres üst bilgileri koleksiyonu içeren bir <üst> bilgi öğesi ve ileti alışverişinde bulunan diğer uç noktalar tarafından bir uç noktanın kimlik doğrulamasına olanak tanıyan bir< kimlik> öğesi içerir. <Üst bilgiler> ve< kimlik> öğeleri öğesinin EndpointAddress bir parçasıdır ve Adresler makalesinde ele alınıyor. Meta veri uzantılarının kullanımını açıklayan konulara bağlantılar, Meta Verileri Yapılandırma bölümünde sağlanır.
Uç Noktaları Yapılandırma
İstemci yapılandırması, istemcinin her biri kendi adına, adresine ve sözleşmesine sahip bir veya daha fazla uç nokta belirtmesine olanak tanıyacak şekilde tasarlanmıştır ve her biri bu uç noktayı yapılandırmak için kullanılacak istemci yapılandırmasındaki bağlama ve ><davranış> öğelerine başvurur.< İstemci yapılandırma dosyasının adı "App.config" olmalıdır çünkü bu, WCF çalışma zamanının beklediği addır. Aşağıdaki örnekte bir istemci yapılandırma dosyası gösterilmektedir.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<client>
<endpoint
name="endpoint1"
address="http://localhost/ServiceModelSamples/service.svc"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IHello"
behaviorConfiguration="IHello_Behavior"
contract="IHello" >
<metadata>
<wsdlImporters>
<extension
type="Microsoft.ServiceModel.Samples.WsdlDocumentationImporter, WsdlDocumentation"/>
</wsdlImporters>
</metadata>
<identity>
<servicePrincipalName value="host/localhost" />
</identity>
</endpoint>
<!-- Add another endpoint by adding another <endpoint> element. -->
<endpoint
name="endpoint2">
//Configure another endpoint here.
</endpoint>
</client>
<!-- The bindings section references by the bindingConfiguration endpoint attribute. -->
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IHello"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard">
<readerQuotas maxDepth="32"/>
<reliableSession ordered="true"
enabled="false" />
<security mode="Message">
<!-- Security settings go here. -->
</security>
</binding>
<binding name="Another Binding"
<!-- Configure this binding here. -->
</binding>
</wsHttpBinding>
</bindings>
<!-- The behavior section references by the behaviorConfiguration endpoint attribute. -->
<behaviors>
<endpointBehaviors>
<behavior name=" IHello_Behavior ">
<clientVia />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
İsteğe bağlı name
öznitelik, belirli bir sözleşme için bir uç noktayı benzersiz olarak tanımlar. veya tarafından ChannelFactory<TChannel>ClientBase<TChannel> istemci yapılandırmasında hedeflenen uç noktayı belirtmek için kullanılır ve hizmet vermek için bir kanal oluşturulduğunda yüklenmesi gerekir. Joker uç nokta yapılandırma adı "*" kullanılabilir ve tam olarak kullanılabilir olması ve başka bir özel durum oluşturması koşuluyla dosyadaki herhangi bir uç nokta yapılandırmasını yüklemesi gerektiğini yöntemine gösterir ApplyConfiguration . Bu öznitelik atlanırsa, ilgili uç nokta belirtilen sözleşme türüyle ilişkili varsayılan uç nokta olarak kullanılır. Özniteliğin name
varsayılan değeri, diğer adlarla eşleşen boş bir dizedir.
Uç noktayı bulmak ve tanımlamak için her uç noktanın kendisiyle ilişkilendirilmiş bir adresi olmalıdır. özniteliği, address
uç noktanın konumunu sağlayan URL'yi belirtmek için kullanılabilir. Ancak bir hizmet uç noktasının adresi kodda Tekdüzen Kaynak Tanımlayıcısı (URI) oluşturularak da belirtilebilir ve yöntemlerden biri AddServiceEndpoint kullanılarak öğesine ServiceHost eklenir. Daha fazla bilgi için bkz . Adresler. Girişte de belirtildiği gibi, <üst bilgiler> ve <kimlik> öğeleri öğesinin EndpointAddress bir parçasıdır ve Adresler konusunda da ele alınmıştır.
özniteliği, binding
uç noktanın bir hizmete bağlanırken kullanmayı beklediği bağlama türünü gösterir. Başvurulacaksa türün kayıtlı bir yapılandırma bölümü olmalıdır. Önceki örnekte bu, uç noktanın <bir WSHttpBindingkullandığını gösteren wsHttpBinding> bölümüdür. Ancak, uç noktanın kullanabileceği belirli bir türde birden fazla bağlama olabilir. Bunların her birinin (bağlama) türü öğesi içinde kendi <bağlama> öğesi vardır. özniteliği, bindingconfiguration
aynı türdeki bağlamaları ayırt etmek için kullanılır. Değeri bağlama> öğesinin name
<özniteliğiyle eşleştirilir. Yapılandırma kullanarak bir istemci bağlamasını yapılandırma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Yapılandırmada İstemci Bağlaması Belirtme.
behaviorConfiguration
özniteliği, uç noktanın <hangi <endpointBehaviors> davranışını> kullanması gerektiğini belirtmek için kullanılır. Değeri davranış öğesinin name
>< özniteliğiyle eşleştirilir. İstemci davranışlarını belirtmek için yapılandırma kullanma örneği için bkz . İstemci Davranışlarını Yapılandırma.
özniteliği uç contract
noktanın hangi sözleşmeyi ortaya çıkarttığını belirtir. Bu değer ile ConfigurationName eşler ServiceContractAttribute. Varsayılan değer, hizmeti uygulayan sınıfın tam tür adıdır.
Meta Verileri Yapılandırma
<Meta veri öğesi, meta veri> içeri aktarma uzantılarını kaydetmek için kullanılan ayarları belirtmek için kullanılır. Meta veri sistemini genişletme hakkında daha fazla bilgi için bkz . Meta Veri Sistemini Genişletme.