Zachowanie debugowania usług
Przykład ServiceDebug pokazuje, jak można skonfigurować ustawienia zachowania debugowania usługi. Przykład jest oparty na rozpoczynaniu pracy, która implementuje ICalculator
kontrakt usługi. Ten przykład jawnie definiuje zachowanie debugowania usługi w pliku konfiguracji. Można to również zrobić imperatywnie w kodzie.
W tym przykładzie klient jest aplikacją konsolową (.exe), a usługa jest hostowana przez usługi Internet Information Services (IIS).
Uwaga
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Plik Web.config serwera definiuje zachowanie debugowania usługi w celu włączenia obsługi strony pomocy i wyjątków, jak pokazano w poniższym przykładzie.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
<!-- Please set this to false when deploying -->
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceDebug> to element konfiguracji, który umożliwia zmianę właściwości zachowania debugowania usługi. Użytkownik może zmodyfikować to zachowanie w celu osiągnięcia następujących czynności:
Dzięki temu usługa zwraca wszelkie wyjątki zgłaszane przez kod aplikacji, nawet jeśli wyjątek nie jest zadeklarowany przy użyciu elementu FaultContractAttribute. Można to zrobić, ustawiając wartość
includeExceptionDetailInFaults
.true
To ustawienie jest przydatne podczas debugowania przypadków, w których serwer zgłasza nieoczekiwany wyjątek.Ważne
Włączenie tego ustawienia w środowisku produkcyjnym nie jest bezpieczne. Nieoczekiwany wyjątek serwera może zawierać pewne informacje, które nie są przeznaczone dla klienta, dlatego ustawienie
includeExceptionDetailsInFaults
może spowodowaćtrue
wyciek informacji.UsługaDebug ><umożliwia również użytkownikowi włączanie lub wyłączanie strony pomocy. Każda usługa może opcjonalnie uwidocznić stronę pomocy zawierającą informacje o usłudze, w tym punkt końcowy, aby uzyskać plik WSDL dla usługi. Można to włączyć, ustawiając wartość
httpHelpPageEnabled
true
. Dzięki temu strona pomocy może zostać zwrócona do żądania GET na podstawowy adres usługi. Ten adres można zmienić, ustawiając inny atrybuthttpHelpPageUrl
. Można to zabezpieczyć przy użyciu protokołu HTTPS zamiast protokołu HTTP. Można to zrobić, ustawiając wartościhttpsHelpPageEnabled
ihttpsHelpPageUrl
.
Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknie konsoli klienta. Pierwsze trzy operacje (Dodaj, Odejmowanie i Mnożenie) muszą zakończyć się powodzeniem. Ostatnia operacja ("divide") kończy się niepowodzeniem z podziałem o zero wyjątku.
Aby skonfigurować, skompilować i uruchomić przykład
Upewnij się, że wykonano procedurę instalacji jednorazowej dla przykładów programu Windows Communication Foundation.
Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).
Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w temacie Uruchamianie przykładów programu Windows Communication Foundation.