ServiceDebugElement Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a configuration element that specifies debugging and help information features for a Windows Communication Foundation (WCF) service. This class cannot be inherited.
public ref class ServiceDebugElement sealed : System::ServiceModel::Configuration::BehaviorExtensionElement
public sealed class ServiceDebugElement : System.ServiceModel.Configuration.BehaviorExtensionElement
type ServiceDebugElement = class
inherit BehaviorExtensionElement
Public NotInheritable Class ServiceDebugElement
Inherits BehaviorExtensionElement
- Inheritance
-
ServiceDebugElement
- Inheritance
Examples
The following code example shows how to use a configuration file to enable the HTML help page feature and return exception information inside a SOAP fault back to the client for debugging purposes (in addition to enabling metadata support).
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Remarks
If you set the IncludeExceptionDetailInFaults property to true
programmatically, you can enable the flow of managed exception information to the client for debugging purposes, as well as the publication of HTML information files for users browsing the service in Web browsers.
Caution
Returning managed exception information to services can be a security risk. This is because exception details expose information about the internal client implementation that could be used by unauthorized services.
The HttpHelpPageEnabled and HttpsHelpPageEnabled properties instruct the service to publish HTML help files when the service is viewed using an HTML browser.
The HttpHelpPageUrl and HttpsHelpPageUrl properties control the location of the HTML help page that is viewed.
To enable or disable one of the ServiceDebugElement features using a configuration file, you must:
Add a
behaviorConfiguration
attribute to the <service> element for your WCF service. (Endpoint behaviors are configured on<endpoint>
elements; service behaviors on <service> elements.)Add to or create a <serviceBehaviors> section and add a <behavior> element to that with the name that matches the
behaviorConfiguration
attribute value from step 1. (Endpoint behaviors are configured using an <endpointBehaviors> element; service behaviors are configured using a <serviceBehaviors> element.Add a <serviceDebug> element to the <behavior> element from step 2 and enable or disable the various properties appropriate to your scenario.
For a specific example, see the Example section.
Constructors
ServiceDebugElement() |
Initializes a new instance of the ServiceDebugElement class. |
Properties
BehaviorType |
Gets the type of this behavior element. |
ConfigurationElementName |
Gets the name of this configuration element. (Inherited from ServiceModelExtensionElement) |
CurrentConfiguration |
Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to. (Inherited from ConfigurationElement) |
ElementInformation |
Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object. (Inherited from ConfigurationElement) |
ElementProperty |
Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself. (Inherited from ConfigurationElement) |
EvaluationContext |
Gets the ContextInformation object for the ConfigurationElement object. (Inherited from ConfigurationElement) |
HasContext |
Gets a value that indicates whether the CurrentConfiguration property is |
HttpHelpPageBinding |
Gets or sets a string value that specifies the binding to be used when HTTP is utilized to access the service help page. |
HttpHelpPageBindingConfiguration |
Gets or sets a string that points to an XML section defining additional configuration information for the binding specified in HttpHelpPageBinding. |
HttpHelpPageEnabled |
Gets or sets a value that indicates whether Windows Communication Foundation (WCF) publishes an HTML help page at the address specified by the HttpHelpPageUrl property. |
HttpHelpPageUrl |
Gets or sets the location at which the HTML help file is published. |
HttpsHelpPageBinding |
Gets or sets a string value that specifies the binding to be used when HTTPS is utilized to access the service help page. |
HttpsHelpPageBindingConfiguration |
Gets or sets a string that points to an XML section defining additional configuration information for the binding specified in HttpsHelpPageBinding. |
HttpsHelpPageEnabled |
Gets or sets a value that specifies whether Windows Communication Foundation (WCF) returns an HTML help file over HTTPS at the address specified by the HttpsHelpPageUrl property. |
HttpsHelpPageUrl |
Gets or sets the location at which an HTML help file is published for retrieval using HTTPS. |
IncludeExceptionDetailInFaults |
Gets or sets a value that specifies whether to include managed exception information in the detail of SOAP faults returned to the client for debugging purposes. |
Item[ConfigurationProperty] |
Gets or sets a property or attribute of this configuration element. (Inherited from ConfigurationElement) |
Item[String] |
Gets or sets a property, attribute, or child element of this configuration element. (Inherited from ConfigurationElement) |
LockAllAttributesExcept |
Gets the collection of locked attributes. (Inherited from ConfigurationElement) |
LockAllElementsExcept |
Gets the collection of locked elements. (Inherited from ConfigurationElement) |
LockAttributes |
Gets the collection of locked attributes. (Inherited from ConfigurationElement) |
LockElements |
Gets the collection of locked elements. (Inherited from ConfigurationElement) |
LockItem |
Gets or sets a value indicating whether the element is locked. (Inherited from ConfigurationElement) |
Properties |
Gets the collection of properties. (Inherited from ConfigurationElement) |
Methods
CopyFrom(ServiceModelExtensionElement) |
Copies the content of the specified configuration element to this configuration element. |
CreateBehavior() |
Creates a behavior extension based on the current configuration settings. (Inherited from BehaviorExtensionElement) |
DeserializeElement(XmlReader, Boolean) |
Reads XML from the configuration file. (Inherited from ConfigurationElement) |
Equals(Object) |
Compares the current ConfigurationElement instance to the specified object. (Inherited from ConfigurationElement) |
GetHashCode() |
Gets a unique value representing the current ConfigurationElement instance. (Inherited from ConfigurationElement) |
GetTransformedAssemblyString(String) |
Returns the transformed version of the specified assembly name. (Inherited from ConfigurationElement) |
GetTransformedTypeString(String) |
Returns the transformed version of the specified type name. (Inherited from ConfigurationElement) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
Init() |
Sets the ConfigurationElement object to its initial state. (Inherited from ConfigurationElement) |
InitializeDefault() |
Used to initialize a default set of values for the ConfigurationElement object. (Inherited from ConfigurationElement) |
IsModified() |
Gets a value that specifies whether this configuration element has been modified. (Inherited from ServiceModelExtensionElement) |
IsReadOnly() |
Gets a value indicating whether the ConfigurationElement object is read-only. (Inherited from ConfigurationElement) |
ListErrors(IList) |
Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list. (Inherited from ConfigurationElement) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Gets a value indicating whether an unknown attribute is encountered during deserialization. (Inherited from ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Gets a value indicating whether an unknown element is encountered during deserialization. (Inherited from ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Throws an exception when a required property is not found. (Inherited from ConfigurationElement) |
PostDeserialize() |
Called after deserialization. (Inherited from ConfigurationElement) |
PreSerialize(XmlWriter) |
Called before serialization. (Inherited from ConfigurationElement) |
Reset(ConfigurationElement) |
Resets the internal state of this configuration element object, including the locks and the properties collections. (Inherited from ServiceModelExtensionElement) |
ResetModified() |
Resets the value of the IsModified() method to |
SerializeElement(XmlWriter, Boolean) |
Writes the contents of this configuration element to the configuration file. (Inherited from ServiceModelExtensionElement) |
SerializeToXmlElement(XmlWriter, String) |
Writes the outer tags of this configuration element to the configuration file when implemented in a derived class. (Inherited from ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Sets a property to the specified value. (Inherited from ConfigurationElement) |
SetPropertyValueIfNotDefaultValue<T>(String, T) |
Sets the property value for the configuration element if the value is not the default value. (Inherited from ServiceModelConfigurationElement) |
SetReadOnly() |
Sets the IsReadOnly() property for the ConfigurationElement object and all subelements. (Inherited from ConfigurationElement) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Modifies the ConfigurationElement object to remove all values that should not be saved. (Inherited from ConfigurationElement) |