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
- NativeCompoundFileAPIs.cs
- HtmlTableRowCollection.cs
- SiteMapDesignerDataSourceView.cs
- ReadOnlyCollectionBase.cs
- Translator.cs
- PropertyMap.cs
- EdgeModeValidation.cs
- Int32Storage.cs
- InputLangChangeRequestEvent.cs
- DataGridCellItemAutomationPeer.cs
- SudsParser.cs
- PerformanceCounterManager.cs
- BulletedListDesigner.cs
- ViewStateException.cs
- GeometryDrawing.cs
- ResourceIDHelper.cs
- SR.Designer.cs
- XmlSchemaSet.cs
- DataServiceHost.cs
- RangeValuePattern.cs
- HyperLinkStyle.cs
- XPathSelfQuery.cs
- BoolExpr.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- FixUp.cs
- COM2ColorConverter.cs
- Variant.cs
- BuildProvider.cs
- Metadata.cs
- DirtyTextRange.cs
- FactoryId.cs
- ImageAttributes.cs
- RestHandlerFactory.cs
- Hash.cs
- InputLanguageEventArgs.cs
- GroupStyle.cs
- WindowsScrollBarBits.cs
- EventSchemaTraceListener.cs
- FormClosedEvent.cs
- SafeNativeMethods.cs
- QilReference.cs
- AssemblyContextControlItem.cs
- MsmqTransportBindingElement.cs
- PropertyFilterAttribute.cs
- processwaithandle.cs
- RelationshipEndCollection.cs
- EditingCommands.cs
- DataGridViewAutoSizeModeEventArgs.cs
- Helper.cs
- HtmlLinkAdapter.cs
- Triangle.cs
- AsnEncodedData.cs
- ProfileSettings.cs
- FullTextLine.cs
- ToolStripSplitButton.cs
- MatrixTransform3D.cs
- ControlIdConverter.cs
- SizeChangedInfo.cs
- ListViewItem.cs
- ModelTreeEnumerator.cs
- XmlTextReader.cs
- milrender.cs
- HttpCapabilitiesEvaluator.cs
- EnvelopedPkcs7.cs
- RTTrackingProfile.cs
- RemoveStoryboard.cs
- InternalSafeNativeMethods.cs
- VisualTreeUtils.cs
- WebPartExportVerb.cs
- TextEncodedRawTextWriter.cs
- MessageQueueCriteria.cs
- IteratorFilter.cs
- FontUnitConverter.cs
- Model3DGroup.cs
- PngBitmapEncoder.cs
- SqlCommandBuilder.cs
- Semaphore.cs
- SiteMembershipCondition.cs
- SqlClientPermission.cs
- DelayedRegex.cs
- NetWebProxyFinder.cs
- ControlCachePolicy.cs
- TemplatedWizardStep.cs
- Vector3DAnimation.cs
- ConstructorBuilder.cs
- EmissiveMaterial.cs
- PropertyGrid.cs
- FileLevelControlBuilderAttribute.cs
- RichTextBoxContextMenu.cs
- CodeGenerationManager.cs
- HitTestDrawingContextWalker.cs
- COM2ColorConverter.cs
- ObjectStateEntryDbDataRecord.cs
- DataGridToolTip.cs
- ObjectAssociationEndMapping.cs
- ShutDownListener.cs
- LockedActivityGlyph.cs
- CodeConstructor.cs
- XhtmlBasicTextBoxAdapter.cs
- XmlObjectSerializerWriteContextComplexJson.cs