2011-08-31 22 views
7

Bir WCF web hizmeti oluşturdum ve yerel olarak wsdl dosyasına eriştiğimde (http://localhost/myservice/service.svc?wsdl sadece wsdl dosyasını gösterir.) GoDaddy tarafından barındırılan sanal sunucuma yükledim. http://my ip adresini ara: myport/service.svc? wsdl sonucu "Bir hizmet oluşturdunuz" ifadesinin bulunduğu sayfadır. Aynı URL'yi aradığımda görüntülenen aynı sayfa nedir? wsdl (http://my ip adresi) Neden sanal sunucumda wsdl dosyasına ulaşabilirim? Bu yerel makinemden neden farklı olabilir?WCF hizmetinde wsdl dosyası nerede

+0

Geliştirme makinenizde olduğu gibi aynı yapılandırma dosyasını ciddi olarak var mı? –

cevap

12

Sunum ortamında yapılandırma dosyanızın WSDL belgesinin alınmasına izin verdiğinden emin olun. Bunu içermelidir:

<behaviors> 
    <serviceBehaviors> 
    <behavior name="metadata"> 
     <serviceMetadata httpGetEnabled="true" /> 
    <behavior> 
    </serviceBehaviors> 
</behaviors> 

Ve size hizmetin yapılandırmasında bu davranışı başvuru.

Düzenleme:

Sadece açıklığa kavuşturmak. Varsayılan WCF davranışı ile WSDL dosyası hiçbir yerde değil. Otomatik olarak üretilir ve bu otomatik üretime izin verilmelidir.

+1

İyi, bu otomatik olarak oluşturuluyor, ancak geçici olarak en azından bir yerde kurtarılmalı ... –

+0

Açık olması gerektiği halde, davranış öğesinin kapatılması gerekiyor. Çok az değişiklik içerdiği için yayını düzenleyemiyorum. – Dono