Jaka jest różnica między aplikacją usługi WCF a biblioteką usług WCF?


118

Tworzę usługę sieci Web WCF i użyłem do tego szablonu aplikacji usługi WCF.

Czy utworzenie „aplikacji usługi WCF” spełnia to wymaganie? Jakie są zalety tworzenia biblioteki usług WCF w porównaniu z aplikacją usługi WCF?

Odpowiedzi:


148

Aplikacja usługowa zawiera już skonfigurowanego hosta witryny internetowej. Biblioteka usług to biblioteka usług, do których host może odwoływać się i uruchamiać.

Jeśli zaczniesz od biblioteki usług (zalecane), możesz wybrać dowolnego hosta (usługę systemu Windows, IIS / ASP.NET lub nawet aplikację konsolową) i po prostu odwołać się do swojej biblioteki z nowego hosta. Wybór aplikacji usługi ogranicza hosta tylko do usług IIS / ASP.NET (chociaż może to być w porządku do twoich celów, ale ograniczy protokoły, których możesz używać).

Edycja : zmiany w usługach IIS od czasu, gdy to napisałem, pozwalają na szerszą gamę protokołów w aktywowanych usługach ASP.NET, więc wybór aplikacji usługi jest znacznie mniej ograniczający niż wcześniej.


1
Czy ktoś ma informacje o nowych protokołach / powiązaniach dostępnych podczas hostowania w usługach IIS?
— Allen Rice

@AndersonImes Wiem, że to stary post, ale mam nadzieję, że możesz pomóc. Szukałem wszędzie i nie mogę znaleźć, czy usługa WCF ma zastąpić usługę sieci Web w .NET 3.5 i dlaczego szablon został usunięty w .NET 4? Dzięki. :)
— Chiramisu

2
@Chiramisu WCF zapewnia o wiele więcej korzyści i elastyczności ... Te informacje okazały się bardzo pomocne: przykład Codeproject , pytanie
— Stackoverflow

@Sam Thanks Sam, bardzo pomocny. Więc zasadniczo WCF może zrobić wszystko, co usługa sieci Web, a nawet więcej? Zastanawiam się nad
— jakimikolwiek

1
@Chiramisu cieszę się, że mogę pomóc! Zawsze istnieją ograniczenia, ale WCF ma znacznie mniej ograniczeń niż typowa usługa sieci Web, wyobrażam sobie.
— StoriKnow

10

Jeśli wszystko, co masz, to jedyny projekt, widzę tylko dodatkową złożoność, jeśli rozdzielisz się dla cholery. Korzystałem z biblioteki, gdy miałem pewne szczególne przypadki użycia, w których musiałem hostować zarówno w usłudze systemu Windows, jak i w usługach IIS.

W przypadku usług IIS można przenieść klasy i interfejsy do biblioteki, ale zachować pliki .SVC w projekcie sieci Web. Musisz edytować pliki .SVC, aby wskazywały na odpowiednio kwalifikowane klasy.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.