İki farklı istemciye göstermem gereken bir IIS7 barındırılan hizmetim var. Müşteriden biri için diğerinden daha sıkı bir Throttling davranışı uygulamak zorundayım.WCF Tek Servis Uygulaması, Çoklu Davranışlar. Mümkün
Bu, İki etiketi tanımlamanız gerektiği ve bunların yalnızca bir etiketten kaynaklanabileceğinden, bunlardan iki tanesine de ihtiyacım olduğu anlamına mı geliyor?
Aşağıdaki web.config dosyasını tanımladım.
Parser Error Message: A child element named 'service' with same key already exists at the same configuration scope.
Collection elements must be unique within the same configuration scope (e.g. the same application.config file). Duplicate key value: 'WCFTwoEndpoints.Calculate'.
Bu konuda doğru yolu mıyım: Ben aşağıdaki hatayı alıyorum sonra meta çekin böylece her iki servise gözatmak çalıştığınızda Sorun, nedir?
<system.serviceModel>
<services>
<service name="WCFTwoEndpoints.Calculate" behaviorConfiguration ="NotThrottled">
<endpoint address="http://localhost/WCFTwoEndpoints/Calculate.svc"
binding="wsHttpBinding" bindingConfiguration="" name="Calculator"
contract="WCFTwoEndpoints.ICalculate" />
<endpoint binding="mexHttpBinding" name="mex" contract="IMetadataExchange" />
</service>
<service name="WCFTwoEndpoints.Calculate" behaviorConfiguration ="Throttled">
<endpoint address="http://localhost/WCFTwoEndpoints/ThrottledCalculate.svc"
binding="wsHttpBinding" bindingConfiguration="" name="ThrottledCalculator"
contract="WCFTwoEndpoints.ICalculate" />
<endpoint binding="mexHttpBinding" name="mex" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="NotThrottled">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="Throttled">
<serviceMetadata httpGetEnabled="true" />
<serviceThrottling maxConcurrentCalls="19" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Calculate.svc ve ThrottledCalculate.svc – Rajesh
adında 2 farklı .svc dosyası var mı? Evet 2 farklı .svc dosyası var ama ikisi de aynı noktayı gösteriyor. –
Sanırım arkada kodla aynı sınıf adı var Sorun, WCF'nin Hizmet öğelerinin benzersiz olmasını ve aynı ada sahip 2 hizmet öğesinin olmasını bekler. Bir baseclass için işlevselliği zorlayabilir ve daha sonra farklı sınıflar içinde devralabilir, böylece hizmet adlarınız benzersiz olur. – Rajesh