Migrowanie usług sieci Web na platformie ASP.NET do programu WCF
ASP.NET udostępnia biblioteki klas i narzędzia programu .NET Framework do tworzenia usług sieci Web, a także obiekty do hostowania usług w usługach Internet Information Services (IIS). Program Windows Communication Foundation (WCF) udostępnia biblioteki klas programu .NET Framework, narzędzia i obiekty hostingowe umożliwiające jednostki oprogramowania komunikowanie się przy użyciu dowolnych protokołów, w tym tych używanych przez usługi sieci Web. Migrowanie ASP.NET usług sieci Web do usługi WCF umożliwia aplikacjom korzystanie z nowych funkcji i ulepszeń, które są unikatowe dla usługi WCF.
WCF ma kilka ważnych zalet w stosunku do ASP.NET usług sieci Web. Chociaż ASP.NET narzędzia usług sieci Web są przeznaczone wyłącznie do tworzenia usług sieci Web, program WCF udostępnia narzędzia, których można używać, gdy jednostki oprogramowania muszą komunikować się ze sobą. Zmniejszy to liczbę technologii, które deweloperzy muszą wiedzieć, aby uwzględnić różne scenariusze komunikacji oprogramowania, co z kolei zmniejszy koszt zasobów programistycznych, a także czas ukończenia projektów programistycznych.
Nawet w przypadku projektów tworzenia usług sieci Web program WCF obsługuje więcej protokołów usług sieci Web niż obsługa usług sieci Web ASP.NET. Te dodatkowe protokoły zapewniają bardziej zaawansowane rozwiązania obejmujące między innymi niezawodne sesje i transakcje.
Program WCF obsługuje więcej protokołów do transportu komunikatów niż ASP.NET usług sieci Web. ASP.NET usługi sieci Web obsługują wysyłanie komunikatów tylko przy użyciu protokołu HTTP (Hypertext Transfer Protocol). Program WCF obsługuje wysyłanie komunikatów przy użyciu protokołu HTTP, a także protokołu TCP (Transmission Control Protocol), nazwanych potoków i kolejkowania komunikatów firmy Microsoft (MSMQ). Co ważniejsze, można rozszerzyć usługę WCF w celu obsługi dodatkowych protokołów transportowych. W związku z tym oprogramowanie opracowane przy użyciu programu WCF może być dostosowane do współpracy z szerszą gamą innych oprogramowania, zwiększając w ten sposób potencjalny zwrot z inwestycji.
Program WCF zapewnia znacznie bogatsze funkcje wdrażania aplikacji i zarządzania nimi niż zapewnia ASP.NET usług sieci Web. Oprócz systemu konfiguracji, który ASP.NET również ma, WCF oferuje edytor konfiguracji, śledzenie działań od nadawców do odbiorników i z powrotem przez dowolną liczbę pośredników, podgląd śledzenia, rejestrowanie komunikatów, ogromną liczbę liczników wydajności i obsługę instrumentacji zarządzania Windows.
Biorąc pod uwagę te potencjalne korzyści związane z usługami WCF w porównaniu z usługami sieci Web ASP.NET, jeśli korzystasz lub rozważasz korzystanie z usług ASP.NET sieci Web, masz kilka opcji:
Kontynuuj korzystanie z ASP.NET usług sieci Web i nie używaj korzyści oferowanych przez usługę WCF.
Nadal używać ASP.NET usług sieci Web z zamiarem wdrożenia WCF w pewnym momencie w przyszłości. W tematach w tej sekcji wyjaśniono, jak zmaksymalizować perspektywy korzystania z nowych aplikacji usług internetowych ASP.NET wraz z przyszłymi aplikacjami WCF. Tematy w tej sekcji wyjaśniają również, jak tworzyć nowe usługi sieci Web ASP.NET, aby ułatwić ich migrację do usługi WCF. Jeśli jednak zabezpieczenie usług jest ważne lub wymagane jest zapewnienie niezawodności lub transakcji, lub jeśli niestandardowe obiekty zarządzania będą musiały zostać skonstruowane, lepszym rozwiązaniem jest wdrożenie usługi WCF. Program WCF został zaprojektowany z myślą o takich scenariuszach.
Wdrażanie programu WCF w celu tworzenia nowych aplikacji, a jednocześnie utrzymanie istniejących aplikacji usługi internetowej ASP.NET. Ten wybór jest bardzo prawdopodobny optymalny. Daje korzyści wynikające z programu WCF, jednocześnie oszczędnie modyfikując istniejące aplikacje do korzystania z niego. W tym scenariuszu nowe aplikacje WCF mogą współistnieć z istniejącymi aplikacjami ASP.NET. Nowe aplikacje WCF będą mogły używać istniejących usług sieci Web ASP.NET, a program WCF może służyć do programowania nowych funkcji operacyjnych w istniejących aplikacjach ASP.NET dzięki trybowi zgodności ASP.NET WCF.
Wdrażanie programu WCF i migrowanie istniejących aplikacji usługi internetowej ASP.NET do usługi WCF. Możesz wybrać tę opcję, aby ulepszyć istniejące aplikacje za pomocą funkcji udostępnianych przez usługę WCF lub odtworzyć funkcje istniejących ASP.NET usług sieci Web w nowych, bardziej zaawansowanych aplikacjach WCF.
Uwaga
Należy zachować ostrożność, jeśli usługa WCF jest hostowana przez usługi IIS 5.x i ASP.NET jest odinstalowywane. Jeśli usługa WCF jest hostowana przez usługi IIS 5.x, kod usługi można zażądać, jeśli ASP.NET zostanie odinstalowany. Po odinstalowaniu ASP.NET w systemie operacyjnym z uruchomionymi usługami IIS 5.x, a program WCF zostanie odinstalowany, plik z rozszerzeniem svc jest traktowany jako plik tekstowy i zawartość, w tym dowolny kod źródłowy, jest zwracany do obiektu żądającego.
W tej sekcji opisano szczegółowo te opcje, porównuje ASP.NET usług sieci Web z usługami WCF i zawiera instrukcje dotyczące migrowania kodu usług sieci Web ASP.NET do usługi WCF.
Zobacz też
- Prognozowanie wdrożeń programu Windows Communication Foundation: ułatwianie migracji w przyszłości
- Prognozowanie wdrożeń programu Windows Communication Foundation: ułatwianie integracji w przyszłości
- Adoptowanie programu Windows Communication Foundation
- Porównanie usług internetowych platformy ASP.NET i architektury WCF na podstawie przeznaczenia oraz stosowanych standardów
- Porównywanie usług internetowych platformy ASP.NET z programem WCF na podstawie procesów programistycznych