2009-06-23 6 views
12

Web servislerimizi ASMX yerine WCF kullanmak için yükseltmem gerekiyor. Web hizmetlerinin imzaları aynı kalırsa, ASMX hizmetini arayan mevcut istemcilerin sonundaki herhangi bir şeyi değiştirmeleri gerekir mi? Yine de WCF'yi kullanmak için bir şey var mı?ASMX'i WCF Web Hizmetine Dönüştürme

+2

Neden yükseltmeye ihtiyacınız olduğunu açıklayabilir misiniz? – redsquare

cevap

12

Seçenek 1: Bir:

  1. şimdiki Asmx en WSDL kullanarak, bu arabirime

    Çıktı dayanarak WCF hizmetini

  2. Kepçe SvcUtil.exe oluşturulan arayüzü kullanarak müşteri oluşturmak ve oluşturmak basicHttpBinding ile yapılandırılmış yeni WCF uç noktası. Müşterilerin, iletileri gönderdikleri URL'yi güncellemeleri gerekir.

Seçenek 2:

  1. sizin ASMX kodunu refactor. Tüm mantığı ayrı bir DLL'ye taşıyın.
  2. Bir WCF hizmeti oluşturun ve yeniden oluşturulmuş DLL dosyasındaki mantığı kullanın.

    Çıktı: 2 bitiş noktaları, ASMX diğeri WCF

8

için başka bir sen yeni WCF hizmeti için BasicHttpBinding kullanın ve aynı mesaj yapısı ile aynı yöntemleri uygularsanız, varolan arayanlar olmalı Bu yeni WCF servisine kendi kısımlarında herhangi bir değişiklik yapmadan çağrı yapabilirler. Üzerinde MSDN documentation bkz -

da bazı potansiyel uyumluluk sorunu etrafında almak için bir AspNetCompatibilityRequirements nitelik var.

Marc