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
cevap
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.
İyi, bu otomatik olarak oluşturuluyor, ancak geçici olarak en azından bir yerde kurtarılmalı ... –
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
Geliştirme makinenizde olduğu gibi aynı yapılandırma dosyasını ciddi olarak var mı? –