Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Description / ServiceDebugBehavior.cs / 2 / ServiceDebugBehavior.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Description { using System.IO; using System.ServiceModel.Dispatcher; using System.ServiceModel.Activation; using System.ServiceModel.Channels; using System.Xml; using WsdlNS = System.Web.Services.Description; using XsdNS = System.Xml.Schema; using System.Collections.ObjectModel; using System.Collections.Generic; using System.Xml.Schema; using System.ServiceModel.Configuration; using System.Collections; using System.ServiceModel.Diagnostics; using System.Diagnostics; public class ServiceDebugBehavior : IServiceBehavior { bool includeExceptionDetailInFaults = false; bool httpHelpPageEnabled = true; Uri httpHelpPageUrl; bool httpsHelpPageEnabled = true; Uri httpsHelpPageUrl; Binding httpHelpPageBinding; Binding httpsHelpPageBinding; public bool HttpHelpPageEnabled { get { return this.httpHelpPageEnabled; } set { this.httpHelpPageEnabled = value; } } public Uri HttpHelpPageUrl { get { return this.httpHelpPageUrl; } set { if (value != null && value.IsAbsoluteUri && value.Scheme != Uri.UriSchemeHttp) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxServiceMetadataBehaviorUrlMustBeHttpOrRelative, "HttpHelpPageUrl", Uri.UriSchemeHttp, value.ToString(), value.Scheme)); } this.httpHelpPageUrl = value; } } public bool HttpsHelpPageEnabled { get { return this.httpsHelpPageEnabled; } set { this.httpsHelpPageEnabled = value; } } public Uri HttpsHelpPageUrl { get { return this.httpsHelpPageUrl; } set { if (value != null && value.IsAbsoluteUri && value.Scheme != Uri.UriSchemeHttps) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxServiceMetadataBehaviorUrlMustBeHttpOrRelative, "HttpsHelpPageUrl", Uri.UriSchemeHttps, value.ToString(), value.Scheme)); } this.httpsHelpPageUrl = value; } } public Binding HttpHelpPageBinding { get { return this.httpHelpPageBinding; } set { if (value != null) { if (!value.Scheme.Equals(Uri.UriSchemeHttp, StringComparison.OrdinalIgnoreCase)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxBindingSchemeDoesNotMatch, value.Scheme, value.GetType().ToString(), Uri.UriSchemeHttp)); } CustomBinding customBinding = new CustomBinding(value); TextMessageEncodingBindingElement textMessageEncodingBindingElement = customBinding.Elements.Find(); if (textMessageEncodingBindingElement != null && !textMessageEncodingBindingElement.MessageVersion.IsMatch(MessageVersion.None)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxIncorrectMessageVersion, textMessageEncodingBindingElement.MessageVersion.ToString(), MessageVersion.None.ToString())); } HttpTransportBindingElement httpTransportBindingElement = customBinding.Elements.Find (); if (httpTransportBindingElement != null) { httpTransportBindingElement.Method = "GET"; } this.httpHelpPageBinding = customBinding; } } } public Binding HttpsHelpPageBinding { get { return this.httpsHelpPageBinding; } set { if (value != null) { if (!value.Scheme.Equals(Uri.UriSchemeHttps, StringComparison.OrdinalIgnoreCase)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxBindingSchemeDoesNotMatch, value.Scheme, value.GetType().ToString(), Uri.UriSchemeHttps)); } CustomBinding customBinding = new CustomBinding(value); TextMessageEncodingBindingElement textMessageEncodingBindingElement = customBinding.Elements.Find (); if (textMessageEncodingBindingElement != null && !textMessageEncodingBindingElement.MessageVersion.IsMatch(MessageVersion.None)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.SFxIncorrectMessageVersion, textMessageEncodingBindingElement.MessageVersion.ToString(), MessageVersion.None.ToString())); } HttpsTransportBindingElement httpsTransportBindingElement = customBinding.Elements.Find (); if (httpsTransportBindingElement != null) { httpsTransportBindingElement.Method = "GET"; } this.httpsHelpPageBinding = customBinding; } } } public bool IncludeExceptionDetailInFaults { get { return this.includeExceptionDetailInFaults; } set { this.includeExceptionDetailInFaults = value; } } void IServiceBehavior.Validate(ServiceDescription description, ServiceHostBase serviceHostBase) { } void IServiceBehavior.AddBindingParameters(ServiceDescription description, ServiceHostBase serviceHostBase, Collection endpoints, BindingParameterCollection parameters) { } void IServiceBehavior.ApplyDispatchBehavior(ServiceDescription description, ServiceHostBase serviceHostBase) { if (this.includeExceptionDetailInFaults) { for (int i=0; i
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ServiceSecurityAuditBehavior.cs
- EnvelopeVersion.cs
- SplitContainerDesigner.cs
- CodeGeneratorOptions.cs
- SourceFileBuildProvider.cs
- DefaultSettingsSection.cs
- CapabilitiesSection.cs
- EntityViewGenerationConstants.cs
- ListItemViewControl.cs
- XmlTypeAttribute.cs
- XmlMtomReader.cs
- SystemMulticastIPAddressInformation.cs
- AnnotationMap.cs
- HiddenFieldPageStatePersister.cs
- HttpCacheVaryByContentEncodings.cs
- XmlSchemaNotation.cs
- RangeEnumerable.cs
- TimeoutValidationAttribute.cs
- DictionaryEntry.cs
- Constant.cs
- PEFileReader.cs
- PermissionSet.cs
- SoapAttributes.cs
- TraceProvider.cs
- WizardStepBase.cs
- XmlSerializerSection.cs
- RadioButtonRenderer.cs
- ErrorProvider.cs
- Image.cs
- SettingsPropertyCollection.cs
- KeyGesture.cs
- ExpressionLink.cs
- XPathDocumentNavigator.cs
- XpsFixedDocumentReaderWriter.cs
- ObjectStateEntryDbDataRecord.cs
- mongolianshape.cs
- Int16Storage.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- MissingSatelliteAssemblyException.cs
- sortedlist.cs
- ObjectStateEntryDbDataRecord.cs
- ValueOfAction.cs
- ExpressionBindings.cs
- XmlAnyAttributeAttribute.cs
- BamlBinaryReader.cs
- SqlInternalConnectionSmi.cs
- StateChangeEvent.cs
- CssTextWriter.cs
- FileVersionInfo.cs
- SspiHelper.cs
- PaintEvent.cs
- SecUtil.cs
- RuntimeCompatibilityAttribute.cs
- IisNotInstalledException.cs
- DispatcherExceptionEventArgs.cs
- MailDefinition.cs
- DesignerActionUI.cs
- DefaultDialogButtons.cs
- HttpSessionStateWrapper.cs
- ComboBoxAutomationPeer.cs
- AuthenticateEventArgs.cs
- SqlNodeAnnotations.cs
- TextBounds.cs
- QuaternionIndependentAnimationStorage.cs
- ExpandoClass.cs
- Variable.cs
- Transform3DGroup.cs
- BuildProvidersCompiler.cs
- SessionPageStateSection.cs
- columnmapkeybuilder.cs
- DebugTrace.cs
- XmlSchemaElement.cs
- XmlNodeComparer.cs
- ProfileSettingsCollection.cs
- Merger.cs
- SchemeSettingElement.cs
- SignatureDescription.cs
- VirtualPath.cs
- CodeAttributeDeclaration.cs
- DynamicEndpoint.cs
- ServiceBuildProvider.cs
- WindowsIdentity.cs
- X509Extension.cs
- HttpWriter.cs
- ReaderWriterLockWrapper.cs
- CodeMemberField.cs
- SecuritySessionClientSettings.cs
- DecoderNLS.cs
- ConfigurationLoaderException.cs
- InkCanvasFeedbackAdorner.cs
- Matrix3DConverter.cs
- Pts.cs
- DocumentPage.cs
- SecurityException.cs
- PersistenceException.cs
- DbDataSourceEnumerator.cs
- LogicalExpressionTypeConverter.cs
- DrawTreeNodeEventArgs.cs
- FontStyle.cs
- SqlDataSourceConfigureSortForm.cs