Udostępnij za pośrednictwem


<serviceDebug>

Określa funkcje debugowania i informacji pomocy dla usługi Windows Communication Foundation (WCF).

<Konfiguracji>
  <System.servicemodel>
    <Zachowania>
      <Servicebehaviors>
        <Zachowanie>
          <serviceDebug>

Składnia

<serviceDebug httpHelpPageBinding="String"
              httpHelpPageBindingConfiguration="String"
              httpHelpPageEnabled="Boolean"
              httpHelpPageUrl="Uri"
              httpsHelpPageBinding="String"
              httpsHelpPageBindingConfiguration="String"
              httpsHelpPageEnabled="Boolean"
              httpsHelpPageUrl="Uri"
              includeExceptionDetailInFaults="Boolean" />

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Atrybut Opis
httpHelpPageBinding Wartość ciągu określająca typ powiązania, który ma być używany, gdy protokół HTTP jest używany do uzyskiwania dostępu do strony pomocy usługi.

Obsługiwane będą tylko powiązania z wewnętrznymi elementami powiązania, które obsługują System.ServiceModel.Channels.IReplyChannel . System.ServiceModel.Channels.MessageVersion Ponadto właściwość powiązania musi mieć wartość MessageVersion.None.
httpHelpPageBindingConfiguration Ciąg określający nazwę powiązania określonego w atrybucie httpHelpPageBinding , który odwołuje się do dodatkowych informacji o konfiguracji tego powiązania. Ta sama nazwa musi być zdefiniowana <bindings> w sekcji .
httpHelpPageEnabled Wartość logiczna określająca, czy program WCF publikuje stronę pomocy HTML pod adresem określonym przez httpHelpPageUrl atrybut. Wartość domyślna to true.

Tę właściwość można ustawić tak, aby false wyłączyć publikację strony pomocy HTML widocznej dla przeglądarek HTML.

Aby upewnić się, że strona pomocy HTML jest publikowana w lokalizacji kontrolowanej httpHelpPageUrl przez atrybut, należy ustawić ten atrybut na true. Ponadto należy spełnić jeden z następujących warunków:

- Atrybut httpHelpPageUrl jest adresem bezwzględnym obsługującym schemat protokołu HTTP.
— Istnieje adres podstawowy dla usługi, która obsługuje schemat protokołu HTTP.

Mimo że wyjątek jest zgłaszany, jeśli adres bezwzględny, który nie obsługuje schematu protokołu HTTP jest przypisany do atrybutu httpHelpPageUrl , każdy inny scenariusz, w którym żaden z powyższych kryteriów nie spełnia żadnych wyjątkiem i żadna strona pomocy HTML.
httpHelpPageUrl Identyfikator URI określający względny lub bezwzględny adres URL niestandardowej pomocy HTML, który użytkownik widzi, gdy punkt końcowy jest wyświetlany przy użyciu przeglądarki HTML.

Możesz użyć tego atrybutu, aby włączyć użycie niestandardowego pliku pomocy HTML, który jest zwracany z żądania HTTP/Get, na przykład z przeglądarki HTML. Lokalizacja pliku pomocy HTML jest rozpoznawana w następujący sposób.

1. Jeśli wartość tego atrybutu jest adresem względnym, lokalizacja pliku pomocy HTML jest wartością adresu podstawowego usługi obsługującego żądania HTTP oraz tę wartość właściwości.
2. Jeśli wartość tego atrybutu jest adresem bezwzględnym i obsługuje żądania HTTP, lokalizacja pliku pomocy HTML jest wartością tej właściwości.
3. Jeśli wartość tego atrybutu jest bezwzględna, ale nie obsługuje żądań HTTP, zgłaszany jest wyjątek.

Ten atrybut jest prawidłowy tylko wtedy, gdy httpHelpPageEnabled atrybut ma truewartość .
httpsHelpPageBinding Wartość ciągu określająca typ powiązania, który ma być używany, gdy protokół HTTPS jest używany do uzyskiwania dostępu do strony pomocy usługi.

Obsługiwane będą tylko powiązania z wewnętrznymi elementami powiązania, które obsługują IReplyChannel . System.ServiceModel.Channels.MessageVersion Ponadto właściwość powiązania musi mieć wartość MessageVersion.None.
httpsHelpPageBindingConfiguration Ciąg określający nazwę powiązania określonego w atrybucie httpsHelpPageBinding , który odwołuje się do dodatkowych informacji o konfiguracji tego powiązania. Ta sama nazwa musi być zdefiniowana <bindings> w sekcji .
httpsHelpPageEnabled Wartość logiczna określająca, czy program WCF publikuje stronę pomocy HTML pod adresem określonym przez httpsHelpPageUrl atrybut. Wartość domyślna to true.

Tę właściwość można ustawić tak, aby false wyłączyć publikację strony pomocy HTML widocznej dla przeglądarek HTML.

Aby upewnić się, że strona pomocy HTML jest publikowana w lokalizacji kontrolowanej httpsHelpPageUrl przez atrybut, należy ustawić ten atrybut na true. Ponadto należy spełnić jeden z następujących warunków:

- Atrybut httpsHelpPageUrl jest adresem bezwzględnym obsługującym schemat protokołu HTTPS.
— Istnieje adres podstawowy dla usługi, która obsługuje schemat protokołu HTTPS.

Chociaż wyjątek jest zgłaszany, jeśli adres bezwzględny, który nie obsługuje schematu protokołu HTTPS jest przypisany do atrybutu httpsHelpPageUrl , każdy inny scenariusz, w którym żaden z powyższych kryteriów nie spełnia wyników nie powoduje wyjątku i strony pomocy HTML.
httpsHelpPageUrl Identyfikator URI określający względny lub bezwzględny adres URL oparty na protokole HTTPS niestandardowego pliku pomocy HTML, który użytkownik widzi, gdy punkt końcowy jest wyświetlany przy użyciu przeglądarki HTML.

Możesz użyć tego atrybutu, aby włączyć użycie niestandardowego pliku pomocy HTML, który jest zwracany z żądania HTTPS/Get, na przykład z przeglądarki HTML. Lokalizacja pliku pomocy HTML jest rozpoznawana w następujący sposób:

— Jeśli wartość tej właściwości jest adresem względnym, lokalizacja pliku pomocy HTML jest wartością adresu podstawowego usługi obsługującego żądania HTTPS oraz tę wartość właściwości.
- Jeśli wartość tej właściwości jest adresem bezwzględnym i obsługuje żądania HTTPS, lokalizacja pliku pomocy HTML jest wartością tej właściwości.
— Jeśli wartość tej właściwości jest bezwzględna, ale nie obsługuje żądań HTTPS, zgłaszany jest wyjątek.

Ten atrybut jest prawidłowy tylko wtedy, gdy httpHelpPageEnabled atrybut ma truewartość .
Includeexceptiondetailinfaults Wartość określająca, czy należy uwzględnić informacje o wyjątkach zarządzanych w szczegółach błędów protokołu SOAP zwróconych klientowi na potrzeby debugowania. Wartość domyślna to false.

Jeśli ustawisz ten atrybut na truewartość , możesz włączyć przepływ informacji o wyjątkach zarządzanych do klienta na potrzeby debugowania, a także publikację plików informacji HTML dla użytkowników przeglądających usługę w przeglądarkach sieci Web. Ostrożność: Zwracanie informacji o wyjątkach zarządzanych klientom może stanowić zagrożenie bezpieczeństwa. Wynika to z tego, że szczegóły wyjątku uwidaczniają informacje o wewnętrznej implementacji usługi, które mogą być używane przez nieautoryzowanych klientów.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element Opis
<Zachowanie> Określa zachowanie elementu.

Uwagi

Ustawienie includeExceptionDetailInFaults umożliwia true usłudze zwrócenie wyjątku zgłoszonego przez kod aplikacji, nawet jeśli wyjątek nie jest zadeklarowany przy użyciu elementu FaultContractAttribute. To ustawienie jest przydatne podczas debugowania przypadków, w których serwer zgłasza nieoczekiwany wyjątek. Przy użyciu tego atrybutu zwracana jest serializowana forma nieznanego wyjątku i można sprawdzić więcej szczegółów wyjątku.

Przestroga

Zwracanie informacji o wyjątkach zarządzanych klientom może stanowić zagrożenie bezpieczeństwa, ponieważ szczegóły wyjątku ujawniają informacje o implementacji usługi wewnętrznej, która może być używana przez nieautoryzowanych klientów. Ze względu na problemy z zabezpieczeniami zdecydowanie zaleca się wykonanie tej czynności tylko w kontrolowanych scenariuszach debugowania. Należy ustawić wartość na includeExceptionDetailInFaultsfalse wartość podczas wdrażania aplikacji.

Aby uzyskać szczegółowe informacje na temat problemów z zabezpieczeniami związanych z wyjątkiem zarządzanym, zobacz Określanie i obsługa błędów w kontraktach i usługach. Aby zapoznać się z przykładem kodu, zobacz Zachowanie debugowania usługi.

Możesz również ustawić i httpsHelpPageUrl włączyć httpsHelpPageEnabled lub wyłączyć stronę pomocy. Każda usługa może opcjonalnie uwidocznić stronę pomocy zawierającą informacje o usłudze, w tym punkt końcowy w celu pobrania WSDL dla usługi. Można to włączyć, ustawiając wartość httpHelpPageEnabledtrue. 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 httpHelpPageUrl atrybut . Ponadto możesz zapewnić to bezpieczeństwo przy użyciu protokołu HTTPS zamiast protokołu HTTP.

httpHelpPageBinding Opcjonalne atrybuty i httpHelpPageBinding umożliwiają skonfigurowanie powiązań używanych do uzyskiwania dostępu do strony internetowej usługi. Jeśli nie zostaną określone, domyślne powiązania (HttpTransportBindingElementw przypadku protokołów HTTP i HttpsTransportBindingElement, w przypadku protokołu HTTPS) są używane do uzyskiwania dostępu do strony pomocy usługi zgodnie z potrzebami. Zauważ, że nie można używać tych atrybutów z wbudowanymi powiązaniami programu WCF. Obsługiwane będą tylko powiązania z wewnętrznymi elementami powiązania, które obsługują element xref:System.ServiceModel.Channels.IReplyChannel> . System.ServiceModel.Channels.MessageVersion Ponadto właściwość powiązania musi mieć wartość MessageVersion.None.

Zobacz też