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
- AutomationProperty.cs
- WsdlInspector.cs
- ViewStateException.cs
- Rect3D.cs
- VsPropertyGrid.cs
- TranslateTransform3D.cs
- TrackBar.cs
- CssClassPropertyAttribute.cs
- Int32Storage.cs
- ByteAnimationUsingKeyFrames.cs
- PrintingPermission.cs
- TrustSection.cs
- RawAppCommandInputReport.cs
- HttpRawResponse.cs
- ImageSource.cs
- MethodBuilder.cs
- DataBoundLiteralControl.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- OletxTransactionFormatter.cs
- XamlWriter.cs
- DirectoryInfo.cs
- Repeater.cs
- ListViewItemMouseHoverEvent.cs
- XmlValueConverter.cs
- InternalConfirm.cs
- CorruptStoreException.cs
- VerticalAlignConverter.cs
- AccessViolationException.cs
- ObjectMemberMapping.cs
- RequestTimeoutManager.cs
- DataColumn.cs
- RawStylusInputCustomData.cs
- EnumerableCollectionView.cs
- GeneralTransform.cs
- TreeView.cs
- MetadataCacheItem.cs
- Compress.cs
- ChangeNode.cs
- BookmarkList.cs
- SystemInfo.cs
- SiteOfOriginContainer.cs
- BitmapInitialize.cs
- XmlQualifiedName.cs
- UnsafeNativeMethods.cs
- ImageDrawing.cs
- Matrix.cs
- HelpEvent.cs
- AutomationPropertyInfo.cs
- HttpServerVarsCollection.cs
- httpstaticobjectscollection.cs
- RequestValidator.cs
- Decorator.cs
- LogWriteRestartAreaState.cs
- ControlValuePropertyAttribute.cs
- EasingFunctionBase.cs
- PagesSection.cs
- DataTable.cs
- DataGridViewAutoSizeModeEventArgs.cs
- EntityRecordInfo.cs
- MenuAutoFormat.cs
- HandlerBase.cs
- UnionCodeGroup.cs
- BitmapPalettes.cs
- ProviderConnectionPoint.cs
- PeerNameResolver.cs
- UpdateTracker.cs
- uribuilder.cs
- Vector3DCollectionConverter.cs
- ExceptionUtil.cs
- NamespaceCollection.cs
- DataRelationCollection.cs
- CriticalExceptions.cs
- OutputWindow.cs
- EntitySqlQueryBuilder.cs
- AnnotationHighlightLayer.cs
- CSharpCodeProvider.cs
- RegionInfo.cs
- SqlStream.cs
- DesignSurfaceManager.cs
- Symbol.cs
- OdbcDataAdapter.cs
- MultiByteCodec.cs
- SocketException.cs
- TextContainer.cs
- SQLConvert.cs
- EdmItemCollection.OcAssemblyCache.cs
- ThreadStartException.cs
- PointAnimationClockResource.cs
- COM2ICategorizePropertiesHandler.cs
- SpeechUI.cs
- ControlType.cs
- WindowProviderWrapper.cs
- ArraySegment.cs
- BufferBuilder.cs
- InheritedPropertyChangedEventArgs.cs
- IndicShape.cs
- WorkerRequest.cs
- _emptywebproxy.cs
- WebPartEditorApplyVerb.cs
- DataGridViewSelectedCellsAccessibleObject.cs