Udostępnij za pośrednictwem


Publikowanie usługi WCF

Publikowanie usługi Windows Communication Foundation (WCF) wspiera przejście od wczesnego środowiska programistycznego, które zapewniają host usług WCF i klient testowy WCF, do rzeczywistego wdrożenia aplikacji w środowisku produkcyjnym, specjalnie na potrzeby testowania. Przed zatwierdzeniem końcowego planu wdrożenia możesz użyć udostępniania usługi Windows Communication Foundation (WCF), aby upewnić się, że usługa WCF działa prawidłowo i jest gotowa do opublikowania. Możesz również wdrożyć biblioteki usług WCF w różnych lokalizacjach docelowych na potrzeby testowania.

Obsługiwane usługi i lokalizacje docelowe

Publikowanie usługi WCF obsługuje publikowanie usług WCF utworzonych na podstawie zestawu szablonów bibliotek usług WCF i ich odpowiednich szablonów elementów, które obejmują następujące elementy:

  • Szablon biblioteki usług WCF z szablonem elementu.

  • Biblioteka do obsługi syndykacji.

Te szablony usług można znaleźć, wybierając pozycję Plik>nowy projekt> [Visual Basic lub Visual C#] >WCF. W przypadku innych szablonów WCF w tym miejscu, takich jak Aplikacja Usługi Przepływu Pracy WCF oraz Aplikacja Usługi WCF, można publikować przy użyciu One-Click publikowania aplikacji internetowych.

Usługę można opublikować w następujących lokalizacjach docelowych.

  • Lokalne usługi IIS.

  • System plików.

  • Witryna FTP.

Korzystanie z publikowania usługi WCF

Wykonaj następujące kroki, aby wdrożyć implementację usługi:

  1. Otwórz program Visual Studio z podwyższonym poziomem uprawnień (kliknij prawym przyciskiem myszy plik wykonywalny i wybierz polecenie Uruchom jako administrator , aby go otworzyć). Jeśli używasz usług IIS 7.0 lub nowszych, upewnij się, że zainstalowano składnik "Metabaza usług IIS i zgodność konfiguracji usług IIS6" przy użyciu opcji "Włączanie lub wyłączanie funkcji systemu Windows" w Panelu sterowania.

  2. Otwórz projekt usługi, wybierz Kompiluj>Publikuj< Nazwa Projektu> z menu głównego, lub kliknij prawym przyciskiem myszy na projekt w Eksploratorze rozwiązań i wybierz Publikuj.

  3. Zostanie wyświetlone okno Publikowanie . Kliknij .... przycisk określający lokalizację docelową, do której ma zostać wdrożona usługa. Możesz wybrać opcję wdrożenia aplikacji w lokalnych usługach IIS, systemie plików lub witrynie FTP. W przypadku wdrażania aplikacji w lokalnych usługach IIS możesz wybrać witrynę internetową i utworzyć pod nią aplikację internetową, klikając ikonę Utwórz nową aplikację internetową w prawym górnym rogu.

  4. Po kliknięciu przycisku Publikuj w oknie głównym program Visual Studio wdraża aplikację w określonej lokalizacji docelowej i kopiuje pliki Web.config, .svc oraz pliki zestawów do katalogu docelowego. . Nazwa pliku svc będzie mieć wartość "ProjectName.ServiceName.svc". Po pomyślnym opublikowaniu usługi, w oknie Dane wyjściowe programu Visual Studio można znaleźć hiperłącze podobne do "Nawiązywanie połączenia z http://localhost/WebApplicationFolderName...". Możesz nacisnąć CTRL i kliknąć link, aby otworzyć stronę przeglądarki w programie Visual Studio, aby wyświetlić strukturę katalogów usługi.

    Jeśli nie możesz przejść do witryny, może to spowodować, że przeglądarka katalogów nie jest włączona w usługach IIS. Postępuj zgodnie z poradami w sekcji "Rzeczy, które można wypróbować", aby ją włączyć. Alternatywnie możesz wpisać http://localhost/WebApplicationFolderName/ProjectName.ServiceName.svc bezpośrednio, aby wyświetlić stronę usługi.

Możesz użyć opcji Publikuj , aby określić, czy chcesz skopiować plik zestawu, konfiguracji i pliku svc dla wszystkich usług zdefiniowanych w projekcie do lokalizacji docelowej i zastąpić istniejące pliki w miejscu docelowym.

Jeśli zdecydujesz się wdrożyć aplikację w lokalnych usługach IIS, mogą wystąpić błędy związane z konfiguracją usług IIS. Upewnij się, że usługi IIS są prawidłowo zainstalowane. Możesz wprowadzić http://localhost na pasku adresu przeglądarki i sprawdzić, czy jest wyświetlana domyślna strona usług IIS. W niektórych przypadkach problemy mogą być również spowodowane niewłaściwą rejestracją ASP.NET lub WCF w usługach IIS. Możesz otworzyć wiersz polecenia dewelopera dla programu Visual Studio i uruchomić polecenie aspnet_regiis.exe -ir , aby rozwiązać ASP.NET problemy z rejestracją lub uruchomić polecenie ServiceModelReg.exe –ia , aby rozwiązać problemy z rejestracją WCF.

Pliki wygenerowane do publikowania

Zanim biblioteka usług WCF będzie hostowana w sieci Web, następujące pliki są generowane przez narzędzie: pliki zestawów, plik Web.config i plik svc. Wszystkie pliki są kopiowane do lokalizacji docelowej. Usługa jest następnie publikowana.

Pliki montażowe

Podczas publikowania usługi WCF przy użyciu tego narzędzia usługa jest automatycznie kompilowana jako pierwsza, a pliki zestawów są generowane w projekcie usługi po utworzeniu.

. Plik SVC

Operacja publikowania generuje plik *.svc dla każdej usługi WCF, niezależnie od tego, czy plik istnieje, czy nie, aby zapewnić ważność wersji. Istnieją dwa różne rodzaje plików svc: jeden dla biblioteki usług WCF i biblioteki usługi syndykacji, a drugi dla biblioteki usług sekwencyjnych i biblioteki usługi przepływu pracy maszyny stanu. Wygenerowany plik *.svc jest kopiowany do folderu głównego w lokalizacji docelowej.

Plik Web.config

Za każdym razem, gdy projekt usługi jest publikowany w określonej lokalizacji docelowej, tworzony jest plik Web.config.

Wygenerowany plik Web.config zawiera sekcje Web przydatne do hostingu w sieci Web oraz następujące zmiany w zawartości App.config dla biblioteki usług WCF.

  • Adres podstawowy jest wykluczony.

  • Ustawienia w elemecie <diagnostics> są wykluczone, aby zachować ustawienia śledzenia platformy docelowej.

Publikowanie usług WCF z powiązaniami innymi niż HTTP w IIS

Jeśli używasz usług IIS7.0 lub nowszych, możesz opublikować usługi WCF z powiązaniami innych niż HTTP w usługach IIS. Należy wykonać pewne wstępne konfiguracje. Aby uzyskać więcej informacji, zapoznaj się z tematami w Hostingu w usłudze Aktywacji Procesów w Systemie Windows.

Bezpieczeństwo

Publikowanie w lokalnych usługach IIS wymaga uprawnień administratora, ponieważ usługi IIS wymagają uruchomienia na koncie administratora. Jeśli użytkownik bez uprawnień administratora otworzy narzędzie WCF Service Publishing, IIS nie jest dostępny jako lokalizacja docelowa. Publikowanie do systemu plików lub witryny FTP działa bez potrzeby posiadania uprawnień administratora.

Zobacz także