Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / ServicesSection.cs / 1 / ServicesSection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Collections; using System.Configuration; using System.Globalization; using System.Reflection; using System.Xml; using System.Security; public sealed partial class ServicesSection : ConfigurationSection, IConfigurationContextProviderInternal { ////// Critical - stores information used in a security decision /// [SecurityCritical] EvaluationContextHelper contextHelper; public ServicesSection() { } [ConfigurationProperty(ConfigurationStrings.DefaultCollectionName, Options = ConfigurationPropertyOptions.IsDefaultCollection)] public ServiceElementCollection Services { get {return (ServiceElementCollection) this[ConfigurationStrings.DefaultCollectionName]; } } internal static ServicesSection GetSection() { return (ServicesSection)ConfigurationHelpers.GetSection(ConfigurationStrings.ServicesSectionPath); } ////// Critical - calls Critical method UnsafeGetSection which elevates in order to fetch config /// caller must guard access to resultant config section /// [SecurityCritical] internal static ServicesSection UnsafeGetSection() { return (ServicesSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.ServicesSectionPath); } protected override void PostDeserialize() { this.ValidateSection(); base.PostDeserialize(); } void ValidateSection() { ContextInformation context = ConfigurationHelpers.GetEvaluationContext(this); if (context != null) { foreach (ServiceElement service in this.Services) { BehaviorsSection.ValidateServiceBehaviorReference(service.BehaviorConfiguration, context, service); foreach (ServiceEndpointElement endpoint in service.Endpoints) { BehaviorsSection.ValidateEndpointBehaviorReference(endpoint.BehaviorConfiguration, context, endpoint); BindingsSection.ValidateBindingReference(endpoint.Binding, endpoint.BindingConfiguration, context, endpoint); } } } } ////// Critical - accesses critical field contextHelper /// [SecurityCritical] protected override void Reset(ConfigurationElement parentElement) { this.contextHelper.OnReset(parentElement); base.Reset(parentElement); } ContextInformation IConfigurationContextProviderInternal.GetEvaluationContext() { return this.EvaluationContext; } ////// Critical -- accesses critical field contextHelper /// RequiresReview -- the return value will be used for a security decision -- see comment in interface definition /// [SecurityCritical] ContextInformation IConfigurationContextProviderInternal.GetOriginalEvaluationContext() { return this.contextHelper.GetOriginalContext(this); } } } // 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
- VirtualizedItemProviderWrapper.cs
- _ListenerRequestStream.cs
- XmlChildEnumerator.cs
- RadioButtonFlatAdapter.cs
- Site.cs
- SQLDecimalStorage.cs
- BamlTreeMap.cs
- Misc.cs
- PropertyGridEditorPart.cs
- TextRangeEdit.cs
- EntityDataSourceChangingEventArgs.cs
- SecurityTokenContainer.cs
- Point4DValueSerializer.cs
- DefaultObjectSerializer.cs
- ITreeGenerator.cs
- ServiceOperationInvoker.cs
- FixedPageAutomationPeer.cs
- CurrencyWrapper.cs
- Size3D.cs
- FlowLayoutPanel.cs
- UdpUtility.cs
- PathTooLongException.cs
- HtmlTextArea.cs
- ImageSource.cs
- ChtmlFormAdapter.cs
- QueryRewriter.cs
- RelatedImageListAttribute.cs
- ZoneLinkButton.cs
- DisplayNameAttribute.cs
- CriticalExceptions.cs
- OLEDB_Util.cs
- LinqDataSourceStatusEventArgs.cs
- GlobalDataBindingHandler.cs
- BinaryWriter.cs
- FrameworkElement.cs
- VariableAction.cs
- DnsEndPoint.cs
- StyleXamlTreeBuilder.cs
- ObservableCollection.cs
- BaseTemplateParser.cs
- MetabaseServerConfig.cs
- Image.cs
- SQLBinary.cs
- SystemThemeKey.cs
- HttpCapabilitiesBase.cs
- SingleAnimationBase.cs
- ButtonBaseAdapter.cs
- LockingPersistenceProvider.cs
- Hyperlink.cs
- CultureInfoConverter.cs
- CustomWebEventKey.cs
- MediaElementAutomationPeer.cs
- Bits.cs
- NumberSubstitution.cs
- LiteralControl.cs
- WebConfigManager.cs
- OpenFileDialog.cs
- EventWaitHandle.cs
- MdiWindowListItemConverter.cs
- ToolStripItemEventArgs.cs
- LayoutSettings.cs
- JournalEntryStack.cs
- WebAdminConfigurationHelper.cs
- DataColumnCollection.cs
- ObjectDataSource.cs
- StickyNote.cs
- IISUnsafeMethods.cs
- DeviceContext2.cs
- PropertyConverter.cs
- ApplicationCommands.cs
- MemberProjectionIndex.cs
- CroppedBitmap.cs
- _BaseOverlappedAsyncResult.cs
- ViewBase.cs
- WebPartCollection.cs
- QueryCacheManager.cs
- ContainerSelectorActiveEvent.cs
- Flattener.cs
- CompilerScope.cs
- KeyValuePair.cs
- MultiplexingDispatchMessageFormatter.cs
- CodeTypeParameterCollection.cs
- WindowsButton.cs
- RoleGroupCollection.cs
- VariantWrapper.cs
- ValidationErrorCollection.cs
- ConnectionPoolRegistry.cs
- SqlServer2KCompatibilityAnnotation.cs
- SerializationAttributes.cs
- OleDbInfoMessageEvent.cs
- BitmapMetadataBlob.cs
- TemplateModeChangedEventArgs.cs
- DateTimeAutomationPeer.cs
- MultiView.cs
- AutomationPattern.cs
- SolidColorBrush.cs
- TabControl.cs
- SamlAuthenticationStatement.cs
- CharacterMetrics.cs
- TypeSystem.cs