Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / behaviorssection.cs / 1 / behaviorssection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Configuration; using System.Globalization; using System.ServiceModel; using System.Security; public partial class BehaviorsSection : ConfigurationSection { [ConfigurationProperty(ConfigurationStrings.EndpointBehaviors, Options = ConfigurationPropertyOptions.None)] public EndpointBehaviorElementCollection EndpointBehaviors { get { return (EndpointBehaviorElementCollection)base[ConfigurationStrings.EndpointBehaviors]; } } [ConfigurationProperty(ConfigurationStrings.ServiceBehaviors, Options = ConfigurationPropertyOptions.None)] public ServiceBehaviorElementCollection ServiceBehaviors { get { return (ServiceBehaviorElementCollection)base[ConfigurationStrings.ServiceBehaviors]; } } internal static BehaviorsSection GetSection() { return (BehaviorsSection)ConfigurationHelpers.GetSection(ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls Critical method UnsafeGetSection which elevates in order to fetch config /// caller must guard access to resultant config section /// [SecurityCritical] internal static BehaviorsSection UnsafeGetSection() { return (BehaviorsSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls Critical method UnsafeGetAssociatedSection which elevates in order to fetch config /// caller must guard access to resultant config section /// [SecurityCritical] internal static BehaviorsSection UnsafeGetAssociatedSection(ContextInformation evalContext) { return (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evalContext, ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls UnsafeGetAssociatedSection which elevates /// Safe - doesn't leak resultant config /// [SecurityCritical, SecurityTreatAsSafe] internal static void ValidateEndpointBehaviorReference(string behaviorConfiguration, ContextInformation evaluationContext, ConfigurationElement configurationElement) { // ValidateBehaviorReference built on assumption that evaluationContext is valid. // This should be protected at the callers site. If assumption is invalid, then // configuration system is in an indeterminate state. Need to stop in a manner that // user code can not capture. if (null == evaluationContext) { DiagnosticUtility.DebugAssert("ValidateBehaviorReference() should only called with valid ContextInformation"); DiagnosticUtility.FailFast("ValidateBehaviorReference() should only called with valid ContextInformation"); } if (!String.IsNullOrEmpty(behaviorConfiguration)) { BehaviorsSection behaviors = (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evaluationContext, ConfigurationStrings.BehaviorsSectionPath); if (!behaviors.EndpointBehaviors.ContainsKey(behaviorConfiguration)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigInvalidEndpointBehavior, behaviorConfiguration), configurationElement.ElementInformation.Source, configurationElement.ElementInformation.LineNumber)); } } } ////// Critical - calls UnsafeGetAssociatedSection which elevates /// Safe - doesn't leak resultant config /// [SecurityCritical, SecurityTreatAsSafe] internal static void ValidateServiceBehaviorReference(string behaviorConfiguration, ContextInformation evaluationContext, ConfigurationElement configurationElement) { // ValidateBehaviorReference built on assumption that evaluationContext is valid. // This should be protected at the callers site. If assumption is invalid, then // configuration system is in an indeterminate state. Need to stop in a manner that // user code can not capture. if (null == evaluationContext) { DiagnosticUtility.DebugAssert("ValidateBehaviorReference() should only called with valid ContextInformation"); DiagnosticUtility.FailFast("ValidateBehaviorReference() should only called with valid ContextInformation"); } if (!String.IsNullOrEmpty(behaviorConfiguration)) { BehaviorsSection behaviors = (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evaluationContext, ConfigurationStrings.BehaviorsSectionPath); if (!behaviors.ServiceBehaviors.ContainsKey(behaviorConfiguration)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigInvalidServiceBehavior, behaviorConfiguration), configurationElement.ElementInformation.Source, configurationElement.ElementInformation.LineNumber)); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextInfo.cs
- WebBrowserSiteBase.cs
- Visual3D.cs
- ProfileEventArgs.cs
- CheckBoxAutomationPeer.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DynamicResourceExtension.cs
- InvalidateEvent.cs
- BufferedGraphicsManager.cs
- TransformProviderWrapper.cs
- DataViewSetting.cs
- CompressionTransform.cs
- FilterElement.cs
- CompModSwitches.cs
- PageThemeParser.cs
- EntryWrittenEventArgs.cs
- DataGridViewCellValueEventArgs.cs
- SqlDataSourceCommandEventArgs.cs
- ProcessHost.cs
- ExeConfigurationFileMap.cs
- TextLineBreak.cs
- SchemaTypeEmitter.cs
- DynamicDiscoSearcher.cs
- ProjectionCamera.cs
- UriTemplatePathSegment.cs
- FontStretchConverter.cs
- EmbeddedMailObjectCollectionEditor.cs
- DataColumnChangeEvent.cs
- PermissionSetTriple.cs
- ProjectionPlanCompiler.cs
- SecuritySessionSecurityTokenProvider.cs
- AccessorTable.cs
- OracleRowUpdatingEventArgs.cs
- ListBindingHelper.cs
- EventLogPermissionEntry.cs
- _AcceptOverlappedAsyncResult.cs
- RankException.cs
- SqlProviderServices.cs
- SplashScreen.cs
- WebPartMovingEventArgs.cs
- SQLGuid.cs
- SortExpressionBuilder.cs
- References.cs
- GenericNameHandler.cs
- PolicyLevel.cs
- Blend.cs
- DynamicDocumentPaginator.cs
- PreservationFileWriter.cs
- DbException.cs
- PolicyChain.cs
- SystemColorTracker.cs
- CompModHelpers.cs
- SqlEnums.cs
- WebPartUserCapability.cs
- WebBrowserNavigatingEventHandler.cs
- ActivityValidator.cs
- SerializerWriterEventHandlers.cs
- ImmComposition.cs
- SiteMapSection.cs
- ListViewDeletedEventArgs.cs
- AffineTransform3D.cs
- EventMappingSettings.cs
- KnownBoxes.cs
- Int64AnimationUsingKeyFrames.cs
- Keywords.cs
- HopperCache.cs
- AppDomain.cs
- ManagementObjectCollection.cs
- StickyNote.cs
- IssuedSecurityTokenParameters.cs
- ImmutableAssemblyCacheEntry.cs
- _ListenerAsyncResult.cs
- ListDataHelper.cs
- CqlBlock.cs
- _NTAuthentication.cs
- controlskin.cs
- SqlErrorCollection.cs
- GridViewPageEventArgs.cs
- ListBoxDesigner.cs
- DataGridViewCellLinkedList.cs
- RecognitionResult.cs
- WebBrowserBase.cs
- DbXmlEnabledProviderManifest.cs
- AlphabeticalEnumConverter.cs
- RoutedCommand.cs
- QueryOutputWriter.cs
- FormattedTextSymbols.cs
- SqlPersonalizationProvider.cs
- ResourceDescriptionAttribute.cs
- SignedXmlDebugLog.cs
- DelegatingTypeDescriptionProvider.cs
- EntityTemplateFactory.cs
- DispatcherHookEventArgs.cs
- InternalEnumValidatorAttribute.cs
- XmlCharType.cs
- DataGridColumn.cs
- MachineKeyValidationConverter.cs
- BinaryReader.cs
- StorageRoot.cs
- DataGridViewControlCollection.cs