Bir WCF Hizmet Uygulaması ile WCF Hizmet Kitaplığı arasındaki fark nedir?


118

Bir WCF web hizmeti geliştiriyorum ve bunu yapmak için WCF Hizmet Uygulaması şablonunu kullandım.

Bir "WCF Hizmet Uygulaması" oluşturmak bu gereksinimi karşılıyor mu? Bir WCF Hizmet Uygulamasına göre bir WCF Hizmet Kitaplığı oluşturmanın avantajı nedir?

Yanıtlar:


148

Bir hizmet uygulaması, sizin için önceden kurulmuş bir web sitesi barındırıcısı içerir. Bir hizmet kitaplığı, bir ana bilgisayarın başvurabileceği ve başlatabileceği bir hizmet kitaplığıdır.

Bir hizmet kitaplığıyla başlarsanız (önerilen), istediğiniz herhangi bir ana bilgisayarı (bir Windows hizmeti, IIS / ASP.NET veya hatta bir konsol uygulaması) seçebilir ve yalnızca yeni ana bilgisayarınızdan kitaplığınıza başvurabilirsiniz. Bir Hizmet Uygulaması seçmek, ana makinenizi yalnızca IIS / ASP.NET ile sınırlar (ancak bu sizin amaçlarınız için uygun olabilir, ancak kullanabileceğiniz protokolleri sınırlar).

Düzenleme : Bunu yazdığımdan beri IIS'deki değişiklikler, ASP.NET ile etkinleştirilen hizmetlerde daha geniş bir protokol yelpazesine izin verir, bu nedenle bir hizmet uygulaması seçmek öncekinden çok daha az sınırlayıcıdır.


1
IIS üzerinde barındırma sırasında mevcut olan yeni protokoller / bağlantılar hakkında bilgisi olan var mı?
Allen Rice

@AndersonImes Bunun eski bir gönderi olduğunu biliyorum, ancak yardım edebileceğinizi umuyorum. Her yere bakıyorum ve WCF Hizmetinin .NET 3.5'teki Web Hizmetinin yerine geçip geçmeyeceğini bulamıyorum ve bu nedenle şablon .NET 4'te neden kaldırıldı? Teşekkürler. :)
Chiramisu

2
@Chiramisu WCF çok daha fazla avantaj ve esneklik sağlıyor ... Bunları çok yararlı buldum: Codeproject örneği , Stackoverflow sorusu
StoriKnow

@Sam Teşekkürler Sam, çok yardımcı. Yani temelde WCF bir Web Hizmetinin yapabileceği her şeyi ve daha fazlasını yapabilir mi? Merak ettiğim herhangi bir sınırlama ... :)
Chiramisu

1
@Chiramisu yardımcı olmaktan mutluluk duyar! Her zaman sınırlamalar vardır, ancak WCF'nin tipik bir web hizmetinden çok daha az sınırlaması olduğunu tahmin ediyorum.
StoriKnow

10

Sahip olduğunuz tek şey bir proje ise, sadece ek karmaşıklığı görürsünüz, bunun için ayırırsanız. Hem Windows hizmetinde hem de IIS'de barındırmam gereken bazı özel kullanım durumlarım varken bir kitaplık kullandım.

IIS için sınıfları ve arabirimleri bir kitaplığa taşıyabilir, ancak .SVC dosyalarınızı web projesinde tutabilirsiniz. .SVC dosyalarını, uygun şekilde nitelendirilmiş sınıfları işaret edecek şekilde düzenlemelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.