Host usługi WCF (WcfSvcHost.exe)
Host usługi Windows Communication Foundation (WCF) (WcfSvcHost.exe) umożliwia uruchomienie debugera programu Visual Studio (F5) w celu automatycznego hostowania i testowania wdrożonej usługi. Następnie możesz przetestować usługę przy użyciu klienta testowego WCF (WcfTestClient.exe) lub własnego klienta, aby znaleźć i naprawić wszelkie potencjalne błędy.
Host usługi WCF
Host usługi WCF wylicza usługi w projekcie usługi WCF, ładuje konfigurację projektu i tworzy wystąpienie hosta dla każdej znalezionej usługi. Narzędzie jest zintegrowane z programem Visual Studio za pomocą szablonu usługi WCF i jest wywoływane po rozpoczęciu debugowania projektu.
Za pomocą hosta usługi WCF można hostować usługę WCF (w projekcie biblioteki usług WCF) bez konieczności pisania dodatkowego kodu lub zatwierdzania określonego hosta podczas programowania.
Uwaga
Host usługi WCF nie obsługuje częściowego zaufania. Jeśli chcesz użyć usługi WCF w częściowym zaufaniu, nie używaj szablonu projektu biblioteki usług WCF w programie Visual Studio do kompilowania usługi. Zamiast tego utwórz nową witrynę WebSite w programie Visual Studio, wybierając szablon WebSite usługi WCF, który może hostować usługę na serwerze internetowym, na którym jest obsługiwane częściowe zaufanie programu WCF.
Typy projektów hostowane przez hosta usługi WCF
Host usługi WCF może hostować następujące typy projektów biblioteki usług WCF: Biblioteka usług WCF, biblioteka sekwencyjnych usług przepływu pracy, biblioteka usługi przepływu pracy maszyny stanu i biblioteka usługi syndykacji. Host usługi WCF może również hostować te usługi, które można dodać do projektu biblioteki usług przy użyciu funkcji Dodaj element . Obejmuje to usługę WCF, usługę WF State Machine Service, sekwencyjną usługę WF, usługę XAML WF State Machine Service i sekwencyjną usługę XAML WF.
Należy jednak pamiętać, że narzędzie nie pomoże w skonfigurowaniu hosta. W tym zadaniu należy ręcznie edytować plik App.config. Narzędzie nie weryfikuje również plików konfiguracji zdefiniowanych przez użytkownika.
Uwaga
Nie należy używać hosta usługi WCF do hostowania usług w środowisku produkcyjnym, ponieważ nie został on zaprojektowany w tym celu. Host usługi WCF nie obsługuje wymagań dotyczących niezawodności, zabezpieczeń i możliwości zarządzania takiego środowiska. Zamiast tego należy używać usług IIS, ponieważ zapewnia lepszą niezawodność i funkcje monitorowania i jest preferowanym rozwiązaniem do hostowania usług. Po zakończeniu opracowywania usług należy przeprowadzić migrację usług z hosta usług WCF do usług IIS.
Scenariusze korzystania z hosta usługi WCF w programie Visual Studio
W poniższej tabeli wymieniono wszystkie parametry w oknie dialogowym Argumenty wiersza polecenia, które można znaleźć, klikając prawym przyciskiem myszy projekt w Eksploratorze rozwiązań w programie Visual Studio, wybierając pozycję Właściwości, a następnie wybierając kartę Debugowanie i klikając polecenie Uruchom projekt. Te parametry są przydatne podczas konfigurowania hosta usługi WCF.
Parametr | Znaczenie |
---|---|
/client |
Opcjonalny parametr określający ścieżkę do pliku wykonywalnego do uruchomienia po hostowanych usługach. Spowoduje to uruchomienie klienta testowego programu WCF po hostingu. |
/clientArg |
Określ ciąg jako argument przekazywany do niestandardowej aplikacji klienckiej. |
/? |
Wyświetla tekst pomocy. |
Korzystanie z klienta testowego programu WCF
Po utworzeniu nowego projektu usługi WCF i naciśnięciu klawisza F5, aby uruchomić debuger, host usługi WCF rozpocznie hostowanie wszystkich usług, które znajdzie w projekcie. Klient testowy programu WCF zostanie otwarty automatycznie i wyświetli listę punktów końcowych usługi zdefiniowanych w pliku konfiguracji. W oknie głównym możesz przetestować parametry i wywołać usługę.
Aby upewnić się, że jest używany klient testowy programu WCF, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań w programie Visual Studio, wybierz pozycję Właściwości, a następnie wybierz kartę Debugowanie. Kliknij przycisk Start Project (Uruchom projekt) i upewnij się, że w oknie dialogowym Argumenty wiersza polecenia zostaną wyświetlone następujące elementy.
/client:WcfTestClient.exe
Korzystanie z klienta niestandardowego
Aby użyć niestandardowego klienta, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań w programie Visual Studio, wybierz pozycję Właściwości, a następnie wybierz kartę Debugowanie. Kliknij przycisk Start Project i edytuj /client
parametr w oknie dialogowym Argumenty wiersza polecenia, aby wskazać klienta niestandardowego, jak wskazano w poniższym przykładzie.
/client:"path/CustomClient.exe"
Po naciśnięciu klawisza F5, aby ponownie uruchomić usługę, host usługi WCF automatycznie uruchamia niestandardowego klienta podczas uruchamiania debugera.
Możesz również użyć parametru /clientArg:
, aby określić ciąg jako argument przekazywany do niestandardowej aplikacji klienckiej, jak wskazano w poniższym przykładzie.
/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"
Jeśli na przykład używasz szablonu Biblioteka usługi Syndication Service, możesz użyć następujących argumentów wiersza polecenia,
/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/
Określanie braku klienta
Aby określić, że żaden klient nie będzie używany po hostingu usługi WCF, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań w programie Visual Studio, wybierz pozycję Właściwości, a następnie wybierz kartę Debugowanie. Kliknij przycisk Uruchom projekt i pozostaw puste okno dialogowe Argumenty wiersza polecenia.
Korzystanie z hosta niestandardowego
Aby użyć niestandardowego hosta, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań w programie Visual Studio, wybierz pozycję Właściwości, a następnie wybierz kartę Debugowanie. Kliknij przycisk Uruchom program zewnętrzny i wprowadź pełną ścieżkę do hosta niestandardowego. Możesz również użyć okna dialogowego Argumenty wiersza polecenia, aby określić argumenty , które mają zostać przekazane do hosta.
Interfejs użytkownika hosta usługi WCF
Po początkowym wywołaniu hosta usługi WCF (przez naciśnięcie klawisza F5 w programie Visual Studio) zostanie automatycznie otwarte okno Hosta usługi WCF. Po uruchomieniu hosta usługi WCF ikona programu zostanie wyświetlona w obszarze powiadomień. Kliknij dwukrotnie ikonę, aby otworzyć okno Hosta usługi WCF
Jeśli podczas hostowania usług wystąpią błędy, zostanie otwarte okno dialogowe Hosta usługi WCF w celu wyświetlenia odpowiednich informacji.
Główne okno hosta usługi WCF zawiera dwa menu:
Plik: zawiera polecenia Zamknij i Zakończ . Po kliknięciu przycisku Zamknij zostanie zamknięte okno dialogowe Hosta usługi WCF, ale usługi będą nadal hostowane. Po kliknięciu przycisku Zakończ host usługi WCF również zostanie zamknięty. Spowoduje to również zatrzymanie wszystkich hostowanych usług.
Pomoc: zawiera polecenie Informacje zawierające informacje o wersji. Zawiera również polecenie Pomoc , które może otworzyć plik pomocy.
Główne okno hosta usługi WCF zawiera dwa obszary:
Pierwszy obszar to Usługa. Zawiera listę zawierającą podstawowe informacje o wszystkich usługach. Informacje obejmują:
Usługa: wyświetla listę wszystkich usług.
Stan: Wyświetla stan usługi. Prawidłowe wartości to "Started", "Stopped" i "Error".
Adres metadanych: wyświetla adres metadanych usług.
Drugi obszar to Dodatkowe informacje. Wyświetla szczegółowe wyjaśnienie stanu usługi po wybraniu określonego wiersza usługi w obszarze Usługa . Jeśli stan to Błąd, możesz wyświetlić pełny komunikat o błędzie na ekranie.
Zatrzymywanie hosta usługi WCF
Host usługi WCF można zamknąć na następujące cztery sposoby:
Zatrzymaj sesję debugowania w programie Visual Studio.
Wybierz pozycję Zakończ z menu Plik w oknie Host usługi WCF.
Wybierz pozycję Wyjdź z menu kontekstowego ikony paska powiadomień usługi WCF w obszarze powiadomień systemowych.
Zamknij klienta testowego programu WCF, jeśli jest używany.
Korzystanie z hosta usługi bez uprawnień Administracja istratora
Aby umożliwić użytkownikom bez uprawnień administratora do tworzenia usług WCF, lista kontroli dostępu (ACL) jest tworzona dla przestrzeni nazw "http://+:8731/Design_Time_Addresses" podczas instalacji programu Visual Studio. Lista ACL jest ustawiona na wartość (UI), która obejmuje wszystkich interakcyjnych użytkowników zalogowanych na maszynie. Administracja istratory mogą dodawać lub usuwać użytkowników z tej listy ACL lub otwierać dodatkowe porty. Ta lista ACL umożliwia użytkownikom korzystanie z automatycznego hosta usługi WCF (wcfSvcHost.exe) bez udzielania im uprawnień administratora.
Dostęp można zmodyfikować przy użyciu narzędzia netsh.exe w systemie Windows Vista w ramach konta administratora z podwyższonym poziomem uprawnień. Poniżej przedstawiono przykład użycia netsh.exe.
netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>
Aby uzyskać więcej informacji na temat netsh.exe, zobacz "How to Use the Netsh.exe Tool and Command-Line Switchs" (Jak używać narzędzia Netsh.exe i przełączników wiersza polecenia).