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
- ArgumentOutOfRangeException.cs
- TailPinnedEventArgs.cs
- InputReport.cs
- PerfService.cs
- FocusManager.cs
- OracleConnectionFactory.cs
- DispatcherObject.cs
- ToolStripStatusLabel.cs
- XamlStackWriter.cs
- QueryableDataSource.cs
- CopyOfAction.cs
- Evaluator.cs
- XmlNotation.cs
- InkCanvasAutomationPeer.cs
- TaskHelper.cs
- MexHttpsBindingCollectionElement.cs
- ObjectHandle.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- ArrayWithOffset.cs
- StringValueConverter.cs
- StylusCollection.cs
- Style.cs
- TextEndOfSegment.cs
- BamlResourceContent.cs
- PnrpPeerResolver.cs
- DeclarativeCatalogPart.cs
- BinaryFormatterWriter.cs
- HttpWebResponse.cs
- AmbientProperties.cs
- SqlDataSourceCustomCommandEditor.cs
- DataGridViewCellCollection.cs
- ConstraintStruct.cs
- NamespaceList.cs
- OperandQuery.cs
- GroupQuery.cs
- ListBoxItemAutomationPeer.cs
- AffineTransform3D.cs
- Internal.cs
- RuntimeComponentFilter.cs
- HorizontalAlignConverter.cs
- ThemeDirectoryCompiler.cs
- Marshal.cs
- CategoryGridEntry.cs
- ObjectQueryState.cs
- _Events.cs
- GlobalizationSection.cs
- ArrayElementGridEntry.cs
- SQLMoneyStorage.cs
- FreeFormPanel.cs
- PartitionResolver.cs
- XmlSchemaObject.cs
- MobileTemplatedControlDesigner.cs
- FamilyCollection.cs
- XPathChildIterator.cs
- TrustLevel.cs
- WmlLabelAdapter.cs
- basecomparevalidator.cs
- SizeChangedEventArgs.cs
- DocumentGrid.cs
- MethodBuilderInstantiation.cs
- ClockGroup.cs
- IntegerFacetDescriptionElement.cs
- webproxy.cs
- ProfessionalColors.cs
- TemplatedWizardStep.cs
- AvTraceDetails.cs
- PolicyStatement.cs
- URLIdentityPermission.cs
- XamlWrapperReaders.cs
- XmlSchema.cs
- brushes.cs
- SystemWebSectionGroup.cs
- RelOps.cs
- HorizontalAlignConverter.cs
- HMACMD5.cs
- SqlException.cs
- ConfigurationSettings.cs
- KnownTypeHelper.cs
- ReversePositionQuery.cs
- SynchronizationLockException.cs
- CustomPopupPlacement.cs
- WizardSideBarListControlItemEventArgs.cs
- SemanticKeyElement.cs
- ColorKeyFrameCollection.cs
- AnimationStorage.cs
- XamlVector3DCollectionSerializer.cs
- GridViewPageEventArgs.cs
- BindingsCollection.cs
- WebControlAdapter.cs
- Crypto.cs
- StyleCollection.cs
- TextAction.cs
- OnOperation.cs
- ChannelSinkStacks.cs
- InertiaExpansionBehavior.cs
- Rule.cs
- GZipDecoder.cs
- HMACSHA256.cs
- XmlSchemaSubstitutionGroup.cs
- GPPOINTF.cs