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
- DataGridViewControlCollection.cs
- OptimisticConcurrencyException.cs
- ObjectStateEntryDbDataRecord.cs
- WindowsAuthenticationModule.cs
- FontConverter.cs
- DescendantOverDescendantQuery.cs
- assertwrapper.cs
- IdentityHolder.cs
- Cursor.cs
- PagerStyle.cs
- RegistryDataKey.cs
- XmlTypeAttribute.cs
- SystemThemeKey.cs
- ColumnResizeAdorner.cs
- ItemsControlAutomationPeer.cs
- SecurityDescriptor.cs
- CompleteWizardStep.cs
- ValueChangedEventManager.cs
- BaseValidator.cs
- RectAnimationClockResource.cs
- GCHandleCookieTable.cs
- Graph.cs
- CircleEase.cs
- ProviderMetadata.cs
- KnownBoxes.cs
- PropertyCollection.cs
- StorageComplexTypeMapping.cs
- CompilerLocalReference.cs
- SqlConnection.cs
- AccessorTable.cs
- OutOfMemoryException.cs
- AtlasWeb.Designer.cs
- Accessors.cs
- AncestorChangedEventArgs.cs
- ContentTextAutomationPeer.cs
- StateWorkerRequest.cs
- XsdBuildProvider.cs
- CodeTypeMemberCollection.cs
- IndexedGlyphRun.cs
- TransformValueSerializer.cs
- TypedElement.cs
- XsdCachingReader.cs
- OdbcUtils.cs
- DBDataPermission.cs
- OdbcCommand.cs
- UserInitiatedNavigationPermission.cs
- SafeNativeMethods.cs
- WizardPanelChangingEventArgs.cs
- BulletedList.cs
- BaseValidator.cs
- CategoryGridEntry.cs
- ConsumerConnectionPointCollection.cs
- PrePostDescendentsWalker.cs
- SerialPort.cs
- AttachedProperty.cs
- EntityProviderFactory.cs
- ConnectionProviderAttribute.cs
- AddInAdapter.cs
- FormClosedEvent.cs
- XmlRawWriterWrapper.cs
- GridItemPattern.cs
- XmlCustomFormatter.cs
- GroupByQueryOperator.cs
- InvariantComparer.cs
- KeyGestureValueSerializer.cs
- HostingEnvironmentException.cs
- Block.cs
- WebPartHelpVerb.cs
- InfoCardBaseException.cs
- OdbcException.cs
- RegexWorker.cs
- DependencyPropertyConverter.cs
- InputScopeManager.cs
- PropertyPathWorker.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- MemberInfoSerializationHolder.cs
- SafeProcessHandle.cs
- ListViewCancelEventArgs.cs
- TextUtf8RawTextWriter.cs
- TemplateAction.cs
- ZoneIdentityPermission.cs
- Application.cs
- MediaElement.cs
- DropTarget.cs
- Label.cs
- CompositeActivityTypeDescriptorProvider.cs
- MultipartIdentifier.cs
- SQLInt32.cs
- ToolStripGrip.cs
- XmlSchemaAppInfo.cs
- ValueUnavailableException.cs
- TypedElement.cs
- SystemIcons.cs
- BamlWriter.cs
- ToolstripProfessionalRenderer.cs
- InstanceLockQueryResult.cs
- LayoutDump.cs
- Transaction.cs
- Parser.cs
- CheckBoxAutomationPeer.cs