2008-09-26 21 views

cevap

6

Sana * .svc dosyasında ServiceHost direktifi aşağıdakileri ekleyin ve otomatik olarak sizin için kurulum WebHttpBinding ve WebHttpBehavior keşfetti:

Factory="System.ServiceModel.Activation.WebServiceHostFactory" 

İsim alanının, web üzerinde başka bir yerde (this MSDN article gibi) belirtilenlerden biraz farklı olduğunu unutmayın.

Bunu yaptıktan sonra, web.config'ten tüm bölümü silebildim ve hala işe yaradı! Eğer kendi kendine bir konsol uygulaması üzerinden ev sahipliği yapıyorsanız

+0

bütün "bölümünde". Ben bir yeniyim. Daha spesifik olabilir misin? ...? – froggythefrog

2

Bitiş noktanızda bir webHttpBinding kullandığınızdan emin olun (bir httpBinding veya wsHttpBinding değil). İşte benim son nokta yapılandırma ... var

<endpoint address="" binding="webHttpBinding" bindingConfiguration="" 
     contract="WcfCore.ICustomer"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
+0

Bunu denedim, ancak bir hata iletisi aldım: "... EndpointDispatcher adresindeki AddressFilter uyuşmazlığı." Ayrıca, davranışlarınıza WebHttpBehavior eklemeniz gerektiği ortaya çıkıyor, ancak bunu web.config dosyasında nasıl yapacağımı bilmiyorum. – kgriffs

+0

GWTF

1

Sen eg..you aracılığıyla ev sahibi çağırabileceği için,

<services> 
     <service name="SomeLib.SomeService"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost:8080/somebase"/> 
      </baseAddresses> 
     </host> 
<!-- And one EndPoint **basicHttpBinding** WILL WORK !!! --> 

     <endpoint 
        address="basic" 
        binding="basicHttpBinding" 
        contract="SomeLib.SomeContract"/> 
</service> 
</services> 

Şimdi sizin hizmet ana eg bir adres olmasını sağlamak gerekir:

WebChannelFactory<IServiceContract> factory = 
     new WebChannelFactory<IServiceContract>(
      new Uri("http://localhost:8080/somebase")); 

Konsol uygulaması başlatıldığında, adres kendiliğinden barındırılsa ve webget uri şablonlarınızı temel alarak eylemlerinizi gerçekleştirebilmeniz durumunda bile göz atılabilir olacaktır.

Bu minimum yapılandırma, WQF RestFULLY uygulamasını kendi kendine mesajlaşma yoluyla çağırmanıza izin verecektir. IIS'de barındırıyorsanız, svc dosyasının özel sunucumuzun yerini alması dışında aslında aynı şekilde çalışır.

İlgili konular