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
- CaseCqlBlock.cs
- ChunkedMemoryStream.cs
- HtmlHead.cs
- ProgressBarHighlightConverter.cs
- PeerObject.cs
- MsmqInputSessionChannelListener.cs
- CreateUserWizardStep.cs
- PeerNearMe.cs
- TileBrush.cs
- QueryOpeningEnumerator.cs
- OdbcErrorCollection.cs
- Int32EqualityComparer.cs
- StandardCommands.cs
- ListViewItemEventArgs.cs
- streamingZipPartStream.cs
- SchemaCollectionPreprocessor.cs
- BuildProvidersCompiler.cs
- Monitor.cs
- Ref.cs
- DSASignatureFormatter.cs
- LoadRetryStrategyFactory.cs
- _NestedSingleAsyncResult.cs
- SiblingIterators.cs
- NativeMethods.cs
- OdbcEnvironment.cs
- CommentGlyph.cs
- RegexWriter.cs
- Number.cs
- DbConnectionPoolOptions.cs
- Misc.cs
- TypeUtil.cs
- SafeRightsManagementSessionHandle.cs
- EventSetterHandlerConverter.cs
- DrawingDrawingContext.cs
- AssociationTypeEmitter.cs
- EventMappingSettingsCollection.cs
- AttributeExtensions.cs
- ThreadInterruptedException.cs
- CustomCategoryAttribute.cs
- ResourceDescriptionAttribute.cs
- EntityKeyElement.cs
- Confirm.cs
- ProfilePropertySettingsCollection.cs
- SchemaSetCompiler.cs
- GenericAuthenticationEventArgs.cs
- PointAnimation.cs
- XmlSchemaObjectTable.cs
- PropertyBuilder.cs
- ObjectSet.cs
- HttpHandlersSection.cs
- HTMLTextWriter.cs
- TempFiles.cs
- milrender.cs
- DelegatedStream.cs
- ListenUriMode.cs
- Compiler.cs
- Descriptor.cs
- SudsParser.cs
- ComponentResourceKeyConverter.cs
- CodeDelegateCreateExpression.cs
- CultureMapper.cs
- DataGridViewLayoutData.cs
- Classification.cs
- rsa.cs
- URIFormatException.cs
- __ComObject.cs
- EntitySqlQueryState.cs
- RegexCharClass.cs
- ModifiableIteratorCollection.cs
- ObjectStateFormatter.cs
- XmlCompatibilityReader.cs
- AdornedElementPlaceholder.cs
- NullableDecimalSumAggregationOperator.cs
- _TimerThread.cs
- OSFeature.cs
- UriTemplateLiteralPathSegment.cs
- NumericUpDownAcceleration.cs
- RegexWriter.cs
- TextWriterEngine.cs
- TrackingDataItem.cs
- TextServicesHost.cs
- SafeNativeMethodsMilCoreApi.cs
- GenericTypeParameterBuilder.cs
- AsyncOperationManager.cs
- TrustExchangeException.cs
- DispatchWrapper.cs
- IncomingWebRequestContext.cs
- ExeContext.cs
- TemplateInstanceAttribute.cs
- GlyphRunDrawing.cs
- SoapClientProtocol.cs
- ListViewSortEventArgs.cs
- ACL.cs
- FilteredReadOnlyMetadataCollection.cs
- ViewStateModeByIdAttribute.cs
- SoapWriter.cs
- ScrollPatternIdentifiers.cs
- UIElement.cs
- PagePropertiesChangingEventArgs.cs
- ResourceDictionary.cs