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
- CombinedGeometry.cs
- BasePattern.cs
- BevelBitmapEffect.cs
- MessagingActivityHelper.cs
- ExtensionElementCollection.cs
- InvalidEnumArgumentException.cs
- FastEncoder.cs
- Empty.cs
- SoapFormatter.cs
- AdornedElementPlaceholder.cs
- RootBrowserWindowAutomationPeer.cs
- ScriptingSectionGroup.cs
- CellParaClient.cs
- ComponentGlyph.cs
- TreeViewTemplateSelector.cs
- XPathAxisIterator.cs
- IntSecurity.cs
- CommandBindingCollection.cs
- PerformanceCounterCategory.cs
- RelationshipWrapper.cs
- PackagePart.cs
- ExtractedStateEntry.cs
- Models.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CommandID.cs
- Image.cs
- FrameworkContextData.cs
- HttpPostProtocolReflector.cs
- FileDialog.cs
- WindowsScrollBarBits.cs
- ProfileWorkflowElement.cs
- ObjectStateManager.cs
- ExtensionQuery.cs
- EpmCustomContentWriterNodeData.cs
- ColorComboBox.cs
- BasePattern.cs
- RequestStatusBarUpdateEventArgs.cs
- DocumentStream.cs
- DBAsyncResult.cs
- RecordsAffectedEventArgs.cs
- PrintDialogDesigner.cs
- Grant.cs
- ReadOnlyCollection.cs
- HttpApplication.cs
- RegexFCD.cs
- _LocalDataStoreMgr.cs
- CodeDirectoryCompiler.cs
- XmlSchemaNotation.cs
- PartManifestEntry.cs
- UpdatePanelControlTrigger.cs
- HttpRuntimeSection.cs
- EntityDataSourceDesignerHelper.cs
- SerializationHelper.cs
- DataServiceClientException.cs
- XamlSerializerUtil.cs
- FlatButtonAppearance.cs
- Rijndael.cs
- ListViewUpdateEventArgs.cs
- XmlTypeAttribute.cs
- ProtocolsConfigurationHandler.cs
- Profiler.cs
- FreezableOperations.cs
- TreeNodeCollectionEditor.cs
- RequestUriProcessor.cs
- WebBrowserNavigatingEventHandler.cs
- SortQuery.cs
- ComplexPropertyEntry.cs
- StrongNameSignatureInformation.cs
- ExpressionVisitorHelpers.cs
- HtmlLinkAdapter.cs
- documentsequencetextview.cs
- ReadOnlyDictionary.cs
- CodeAttributeDeclaration.cs
- ProfileEventArgs.cs
- querybuilder.cs
- VisualStates.cs
- ChildDocumentBlock.cs
- ConnectionManagementElementCollection.cs
- BackgroundFormatInfo.cs
- InfoCardCryptoHelper.cs
- QueueNameHelper.cs
- BitConverter.cs
- DataColumnMapping.cs
- SqlDependency.cs
- nulltextcontainer.cs
- HttpServerUtilityWrapper.cs
- PackageDigitalSignatureManager.cs
- SizeLimitedCache.cs
- SchemaNames.cs
- CalendarAutomationPeer.cs
- SuppressMessageAttribute.cs
- AssociationTypeEmitter.cs
- Rules.cs
- WebSysDefaultValueAttribute.cs
- Stylesheet.cs
- FixedNode.cs
- XsltCompileContext.cs
- MenuItemBindingCollection.cs
- Vector3DAnimationBase.cs
- X509Certificate.cs