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
- XamlValidatingReader.cs
- DetailsViewRow.cs
- PeerInvitationResponse.cs
- SafeHandle.cs
- ProcessHostServerConfig.cs
- SqlFunctionAttribute.cs
- ZipArchive.cs
- SiteMap.cs
- TextLineResult.cs
- RegionIterator.cs
- WeakReference.cs
- ConfigurationStrings.cs
- FrameworkElementFactory.cs
- BinaryFormatterWriter.cs
- ImageField.cs
- NameGenerator.cs
- TableLayoutPanel.cs
- CodeBlockBuilder.cs
- PriorityItem.cs
- CodeParameterDeclarationExpressionCollection.cs
- ItemCollection.cs
- SendAgentStatusRequest.cs
- EditorBrowsableAttribute.cs
- SafeRightsManagementHandle.cs
- RtfToXamlLexer.cs
- PageSetupDialog.cs
- Size.cs
- MemoryStream.cs
- SQLResource.cs
- MediaElementAutomationPeer.cs
- CommandID.cs
- RoutedEventConverter.cs
- Version.cs
- DataViewSettingCollection.cs
- XPathDocumentIterator.cs
- securitycriticaldataformultiplegetandset.cs
- Function.cs
- Pkcs9Attribute.cs
- RelatedCurrencyManager.cs
- WindowsFormsSectionHandler.cs
- ControlPropertyNameConverter.cs
- ErrorProvider.cs
- ISFTagAndGuidCache.cs
- AuthorizationRuleCollection.cs
- CodeAttributeArgumentCollection.cs
- CodeEventReferenceExpression.cs
- MailSettingsSection.cs
- DataDocumentXPathNavigator.cs
- AudioStateChangedEventArgs.cs
- Perspective.cs
- _ShellExpression.cs
- NavigatingCancelEventArgs.cs
- CqlParserHelpers.cs
- FontWeight.cs
- FileDialogCustomPlace.cs
- WSDualHttpBinding.cs
- Interlocked.cs
- SqlUserDefinedAggregateAttribute.cs
- InternalsVisibleToAttribute.cs
- DrawingCollection.cs
- ScriptModule.cs
- ControlIdConverter.cs
- TaskForm.cs
- Block.cs
- SafeViewOfFileHandle.cs
- MarshalByRefObject.cs
- DataGridCellItemAutomationPeer.cs
- DataGridBoolColumn.cs
- WindowsFormsSectionHandler.cs
- SerializationAttributes.cs
- DataViewSetting.cs
- ColorAnimationBase.cs
- PerfService.cs
- HeaderedContentControl.cs
- SiteMapHierarchicalDataSourceView.cs
- AsyncCompletedEventArgs.cs
- SafeBitVector32.cs
- PartialTrustVisibleAssembliesSection.cs
- IfElseDesigner.xaml.cs
- TableMethodGenerator.cs
- AuthenticationSchemesHelper.cs
- AutomationPeer.cs
- EntityProviderServices.cs
- TypeConverterHelper.cs
- OleDbPermission.cs
- DataView.cs
- RightsDocument.cs
- ArrangedElementCollection.cs
- ElementUtil.cs
- UInt32Storage.cs
- DataSourceControlBuilder.cs
- TransformedBitmap.cs
- AttributeProviderAttribute.cs
- CacheChildrenQuery.cs
- CompoundFileStorageReference.cs
- SR.cs
- CalendarSelectionChangedEventArgs.cs
- DataSourceView.cs
- MarshalByRefObject.cs
- SectionInformation.cs