Dela via


Beteende för tjänstfelsökning

ServiceDebug-exemplet visar hur beteendeinställningar för tjänstfelsökning kan konfigureras. Exemplet baseras på Komma igång, som implementerar tjänstkontraktet ICalculator . Det här exemplet definierar uttryckligen tjänstens felsökningsbeteende i konfigurationsfilen. Det kan också göras imperativt i kod.

I det här exemplet är klienten ett konsolprogram (.exe) och tjänsten hanteras av Internet Information Services (IIS).

Kommentar

Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.

Web.config-filen för servern definierar tjänstens felsökningsbeteende för att aktivera hjälpsidan och undantagshanteringen enligt följande exempel.

<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> är konfigurationselementet som gör det möjligt att ändra beteendeegenskaperna för tjänstfelsökning. Användaren kan ändra det här beteendet för att uppnå följande:

  • På så sätt kan tjänsten returnera alla undantag som genereras av programkoden även om undantaget inte deklareras med hjälp FaultContractAttributeav . Det görs genom att ange includeExceptionDetailInFaults till true. Den här inställningen är användbar när du felsöker fall där servern utlöser ett oväntat undantag.

    Viktigt!

    Det är inte säkert att aktivera den här inställningen i en produktionsmiljö. Ett oväntat serverfel kan ha viss information som inte är avsedd för klienten, och därför kan inställningen includeExceptionDetailsInFaultstrue resultera i en informationsläcka.

  • ServiceDebug <> gör också att en användare kan aktivera eller inaktivera hjälpsidan. Varje tjänst kan också exponera en hjälpsida som innehåller information om tjänsten, inklusive slutpunkten för att hämta WSDL för tjänsten. Detta kan aktiveras genom att ange httpHelpPageEnabled till true. På så sätt kan hjälpsidan returneras till en GET-begäran till tjänstens basadress. Du kan ändra den här adressen genom att ange ett annat attribut httpHelpPageUrl. Du kan skydda detta genom att använda HTTPS i stället för HTTP. Detta kan göras genom att ange httpsHelpPageEnabled och httpsHelpPageUrl.

När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. De första tre åtgärderna (Lägg till, Subtrahera och Multiplicera) måste lyckas. Den sista åtgärden ("divide") misslyckas med ett division med noll undantag.

Så här konfigurerar du, skapar och kör exemplet

  1. Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.

  2. Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.

  3. Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.