<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 true wartość . |
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 true wartość . |
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 true wartość , 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 includeExceptionDetailInFaults
false
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ść 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 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 (HttpTransportBindingElement
w 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.