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
- OdbcError.cs
- PasswordRecovery.cs
- Action.cs
- LogLogRecordHeader.cs
- ValidationSettings.cs
- OdbcStatementHandle.cs
- remotingproxy.cs
- VirtualPathUtility.cs
- RequestSecurityTokenForGetBrowserToken.cs
- SpeechSeg.cs
- WebPartZoneBaseDesigner.cs
- InternalControlCollection.cs
- GeometryConverter.cs
- ListViewEditEventArgs.cs
- HttpStreams.cs
- FileInfo.cs
- BrushConverter.cs
- DataGridViewRowCollection.cs
- DocumentViewerHelper.cs
- ProviderIncompatibleException.cs
- Configuration.cs
- Substitution.cs
- DataComponentGenerator.cs
- GeneralTransform2DTo3D.cs
- DesignSurfaceServiceContainer.cs
- PassportAuthenticationEventArgs.cs
- Brush.cs
- ImageButton.cs
- Int32EqualityComparer.cs
- XmlSchemaAll.cs
- XmlValidatingReaderImpl.cs
- Matrix3DConverter.cs
- FeatureSupport.cs
- SafeFileMappingHandle.cs
- StringKeyFrameCollection.cs
- MdImport.cs
- SQLStringStorage.cs
- ButtonRenderer.cs
- Utilities.cs
- ClientSettings.cs
- SqlComparer.cs
- ProviderIncompatibleException.cs
- BevelBitmapEffect.cs
- ContractsBCL.cs
- MethodAccessException.cs
- WebControlsSection.cs
- DesignTimeVisibleAttribute.cs
- RegionInfo.cs
- MatrixAnimationBase.cs
- XmlSchemaComplexContentRestriction.cs
- IconConverter.cs
- IncomingWebRequestContext.cs
- RegionIterator.cs
- BatchWriter.cs
- XmlElementAttribute.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- ResXResourceWriter.cs
- BitmapEffectRenderDataResource.cs
- CdpEqualityComparer.cs
- SEHException.cs
- Stack.cs
- ByteStreamGeometryContext.cs
- CipherData.cs
- ButtonChrome.cs
- Filter.cs
- NegatedCellConstant.cs
- SecureConversationVersion.cs
- WindowsBrush.cs
- SizeIndependentAnimationStorage.cs
- StatusBarItem.cs
- SafeLibraryHandle.cs
- LessThanOrEqual.cs
- NativeMethods.cs
- LinkConverter.cs
- TableParagraph.cs
- HtmlControlPersistable.cs
- PerformanceCounterPermissionEntryCollection.cs
- RelatedPropertyManager.cs
- DropShadowBitmapEffect.cs
- DataGridAddNewRow.cs
- SafeUserTokenHandle.cs
- RoleService.cs
- XmlWrappingReader.cs
- RenderOptions.cs
- WindowsSecurityTokenAuthenticator.cs
- WorkflowOwnershipException.cs
- TraceFilter.cs
- Journaling.cs
- RoutingBehavior.cs
- ControlPropertyNameConverter.cs
- MailMessage.cs
- SettingsPropertyIsReadOnlyException.cs
- SqlDataSourceView.cs
- MdiWindowListStrip.cs
- DetailsViewUpdatedEventArgs.cs
- ExpressionBuilder.cs
- GcHandle.cs
- ElementNotEnabledException.cs
- FormsAuthenticationConfiguration.cs
- SafeEventLogReadHandle.cs