Różnica między WCF a usługą internetową

WCF vs usługa sieciowa

Usługi sieciowe i Windows Communication Foundation (WCF) to dwie metody komunikacji aplikacji przez sieć.

Więcej o usługach sieciowych

Usługi sieciowe są komponentami aplikacji, do których można uzyskiwać dostęp za pomocą otwartych protokołów, takich jak SOAP (Simple Object Access Protocol), który jest językiem opartym na XML opracowanym przez W3C, do kodowania i przesyłania danych. SOAP używa XML do opisów danych i HTTP do przesyłania danych. Głównymi zaletami tych otwartych protokołów są interoperacyjność usług, pomimo różnic w używanych platformach i językach programowania. Usługi sieciowe używają (WSDL) usług sieciowych Opisy Język) do opisywania usług, a UDDI (Universal Description, Discovery and Integration) do wyświetlania listy dostępnych usług. Usługi sieciowe nie potrzebują do działania przeglądarki internetowej ani HTML i mogą zawierać lub nie graficzny interfejs użytkownika zdefiniowany przez aplikację. Usługi sieciowe mogą być implementowane za pomocą ASP.NET.

Więcej informacji o Windows Communication Foundation (WCF)

Windows Communication Foundation został wprowadzony w celu zastąpienia wcześniejszych platform usług internetowych i wykorzystuje architekturę zorientowaną na usługi w budowaniu aplikacji. Interoperacyjność i wiele wzorców komunikatów, metadane usług, kontrakty danych i wiele kodowań transportowych to cechy WCF. Trwałe wiadomości, AJAX i REST oraz funkcje Bezpiecznych transakcji zwiększają wszechstronność platformy niż wcześniejsze usługi sieciowe.

Jaka jest różnica między usługami sieci Web a WCF?

• Usługi sieciowe mogą być hostowane w IIS (Internet Information Service) lub poza IIS, podczas gdy WCF może być hostowany w IIS, WAS (Windows Activation Service). Usługi WCF można ogólnie hostować w ramach IIS 5.1 lub 6.0, usługi aktywacji procesów systemu Windows (WAS), która jest dostarczana jako część IIS w wersji 7.0, oraz w dowolnej aplikacji .NET. Aby hostować usługę sieci Web w IIS w wersji 5.1 lub 6.0, usługi sieci Web muszą używać protokołu HTTP jako protokołu transportu.

• Na platformie usług internetowych atrybut usługi sieciowej zostanie dodany do najwyższej klasy, podczas gdy w WCF będzie atrybut umowy o świadczenie usług. Podobnie atrybut metody sieciowej jest dodawany do metody usługi sieci Web, podczas gdy w WCF umowa usługi zostanie dodana do metody najwyższej.

• Usługi sieciowe wykorzystują kodowanie XML 1.0, MTOM (mechanizm optymalizacji transmisji wiadomości) i DIME, natomiast WCF korzysta z kodowania XML 1.0, MTOM i binarnego. Obie platformy obsługują niestandardowe metody kodowania.

• Platforma usług internetowych obsługuje serializację XML, podczas gdy w WCF platforma usług obsługuje serializację w czasie wykonywania.

• Usługi WCF mogą być wielowątkowe za pomocą klasy zachowań serwisowych, podczas gdy usługi sieciowe nie mogą być wielowątkowe.

• Usługi WCF obsługują różne typy powiązań, takie jak BasicHttpBinding, WSHttpBinding, WSDualHttpBinding, podczas gdy usługi sieci Web używają tylko SOAP lub XML do tego celu.

• Usługi sieciowe są kompilowane w zespole biblioteki klas. Dostępny jest plik o nazwie „plik usługi”, który ma rozszerzenie .asmx i zawiera dyrektywę @ WebService, która identyfikuje klasę zawierającą kod usługi i zestawu, w którym znajduje się w WCF.