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
- SharedPersonalizationStateInfo.cs
- RemotingServices.cs
- DigitShape.cs
- PngBitmapDecoder.cs
- TextEditorCharacters.cs
- StreamHelper.cs
- PageClientProxyGenerator.cs
- HeaderedItemsControl.cs
- FormsIdentity.cs
- _StreamFramer.cs
- TextElementCollectionHelper.cs
- KeyConverter.cs
- ChineseLunisolarCalendar.cs
- PostBackOptions.cs
- PersonalizableTypeEntry.cs
- MemberBinding.cs
- PageAsyncTask.cs
- MailWebEventProvider.cs
- MsmqIntegrationInputChannel.cs
- ExpandSegment.cs
- PermissionSetTriple.cs
- StylusPointPropertyInfoDefaults.cs
- WebDisplayNameAttribute.cs
- CacheModeConverter.cs
- WebBrowserContainer.cs
- UnauthorizedAccessException.cs
- RemotingSurrogateSelector.cs
- PinnedBufferMemoryStream.cs
- WindowsGraphicsCacheManager.cs
- BinaryObjectWriter.cs
- HtmlTableRow.cs
- securitycriticaldata.cs
- MembershipSection.cs
- DateTimeFormatInfoScanner.cs
- ToolStripDropDownButton.cs
- BrowsableAttribute.cs
- ExeContext.cs
- BoolExpressionVisitors.cs
- InvokeFunc.cs
- SByteStorage.cs
- Stream.cs
- TextTreeInsertUndoUnit.cs
- NegationPusher.cs
- BreadCrumbTextConverter.cs
- SqlDataSourceCommandEventArgs.cs
- VisualSerializer.cs
- RelatedImageListAttribute.cs
- MessageBodyMemberAttribute.cs
- ProvidePropertyAttribute.cs
- TagPrefixAttribute.cs
- HttpListenerContext.cs
- MetadataArtifactLoaderFile.cs
- LogEntrySerializationException.cs
- BindingNavigator.cs
- ExtractCollection.cs
- Thumb.cs
- XmlSortKeyAccumulator.cs
- RawStylusInputCustomDataList.cs
- ArgumentNullException.cs
- SplitterPanel.cs
- PropertyGridCommands.cs
- ProcessRequestArgs.cs
- SqlCommandBuilder.cs
- SchemaCollectionPreprocessor.cs
- CellPartitioner.cs
- MailAddressParser.cs
- CheckBox.cs
- RadioButtonList.cs
- ComPersistableTypeElement.cs
- WindowsTreeView.cs
- UriTemplateMatch.cs
- StreamWithDictionary.cs
- OleDbRowUpdatedEvent.cs
- AutoGeneratedFieldProperties.cs
- TimeSpanConverter.cs
- EntryPointNotFoundException.cs
- Attributes.cs
- HandleCollector.cs
- BindingCompleteEventArgs.cs
- SafeMILHandle.cs
- TableChangeProcessor.cs
- CollectionViewProxy.cs
- Vector3DAnimation.cs
- CustomGrammar.cs
- DataGridViewRowPostPaintEventArgs.cs
- WebPartCatalogCloseVerb.cs
- TableProviderWrapper.cs
- ByteStorage.cs
- CodeDomConfigurationHandler.cs
- AssemblyName.cs
- BinaryReader.cs
- Fonts.cs
- SafeUserTokenHandle.cs
- InkSerializer.cs
- ScalarOps.cs
- ConnectorSelectionGlyph.cs
- EventLogPermissionAttribute.cs
- ValueType.cs
- AspNetHostingPermission.cs
- ZipIOCentralDirectoryDigitalSignature.cs