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
- WebPartTransformerAttribute.cs
- ProviderIncompatibleException.cs
- QilSortKey.cs
- CoreSwitches.cs
- NativeMethods.cs
- XsltInput.cs
- LinearGradientBrush.cs
- CalendarDateRangeChangingEventArgs.cs
- HttpRawResponse.cs
- EncoderReplacementFallback.cs
- Rfc2898DeriveBytes.cs
- WebPartPersonalization.cs
- Win32.cs
- DropSource.cs
- XmlSchemaElement.cs
- ToolStripButton.cs
- TemplateLookupAction.cs
- MSAAEventDispatcher.cs
- CalendarDataBindingHandler.cs
- shaperfactoryquerycachekey.cs
- ToolStripContentPanelDesigner.cs
- DateRangeEvent.cs
- KeyEvent.cs
- ResourceDescriptionAttribute.cs
- IDispatchConstantAttribute.cs
- ListBindingConverter.cs
- XXXInfos.cs
- AutoResizedEvent.cs
- XmlSerializerNamespaces.cs
- BindingsSection.cs
- ColumnHeader.cs
- StringBuilder.cs
- SourceChangedEventArgs.cs
- TreeNode.cs
- SliderAutomationPeer.cs
- Accessible.cs
- FlowThrottle.cs
- SerialStream.cs
- DirectoryNotFoundException.cs
- QilValidationVisitor.cs
- CommonProperties.cs
- HealthMonitoringSection.cs
- RequestTimeoutManager.cs
- RemoteWebConfigurationHost.cs
- FileSystemWatcher.cs
- NominalTypeEliminator.cs
- SoapFaultCodes.cs
- DataPointer.cs
- PlainXmlDeserializer.cs
- DynamicFilter.cs
- ReadOnlyCollection.cs
- DataTableTypeConverter.cs
- ReliabilityContractAttribute.cs
- DbModificationClause.cs
- DbTransaction.cs
- ModelFactory.cs
- DebugView.cs
- C14NUtil.cs
- ElementMarkupObject.cs
- ToolStripSplitStackLayout.cs
- ExtensionSurface.cs
- DataGridViewRow.cs
- EditorZoneBase.cs
- XmlDocumentType.cs
- XmlValidatingReader.cs
- MediaElement.cs
- Line.cs
- DataGridViewCellStyleConverter.cs
- ProfileGroupSettingsCollection.cs
- EdmMember.cs
- TypedElement.cs
- SHA1Cng.cs
- ExpandCollapseProviderWrapper.cs
- CharacterBuffer.cs
- ObjectListComponentEditor.cs
- CaseInsensitiveHashCodeProvider.cs
- TextRange.cs
- RuntimeConfig.cs
- SerializationEventsCache.cs
- SystemIPGlobalProperties.cs
- ProtocolImporter.cs
- StyleModeStack.cs
- AttributedMetaModel.cs
- ConfigurationException.cs
- ParameterSubsegment.cs
- ISCIIEncoding.cs
- Command.cs
- JsonServiceDocumentSerializer.cs
- BitmapEffect.cs
- MasterPageParser.cs
- FontFamily.cs
- PageThemeCodeDomTreeGenerator.cs
- GridProviderWrapper.cs
- OracleConnectionFactory.cs
- UnsafeCollabNativeMethods.cs
- SwitchCase.cs
- DataColumnMapping.cs
- CompiledXpathExpr.cs
- XmlSchemaDatatype.cs
- FormattedTextSymbols.cs