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
- documentation.cs
- ItemsControlAutomationPeer.cs
- ServiceHttpHandlerFactory.cs
- Stylesheet.cs
- XsltLibrary.cs
- ObjectFullSpanRewriter.cs
- TabOrder.cs
- WindowsPrincipal.cs
- TargetParameterCountException.cs
- InstanceDataCollectionCollection.cs
- TextFormatterContext.cs
- CodeLinePragma.cs
- AdCreatedEventArgs.cs
- GenerateTemporaryTargetAssembly.cs
- ItemMap.cs
- SqlOuterApplyReducer.cs
- ParameterExpression.cs
- CommonXSendMessage.cs
- StyleXamlParser.cs
- SimpleLine.cs
- FixedElement.cs
- FixedPosition.cs
- UpdatableWrapper.cs
- DataControlFieldCell.cs
- ProfileManager.cs
- CompilationUtil.cs
- HttpCacheParams.cs
- keycontainerpermission.cs
- XmlSchemaResource.cs
- BuildProvidersCompiler.cs
- GroupByQueryOperator.cs
- RegionIterator.cs
- SafeRightsManagementSessionHandle.cs
- DataGridViewCellValueEventArgs.cs
- DataGridHeaderBorder.cs
- ListViewItemMouseHoverEvent.cs
- WriteFileContext.cs
- MaskedTextProvider.cs
- SelectionWordBreaker.cs
- PenThreadWorker.cs
- FixedTextView.cs
- DynamicUpdateCommand.cs
- HostedAspNetEnvironment.cs
- SettingsPropertyWrongTypeException.cs
- SelectionRange.cs
- RegexRunner.cs
- EventRouteFactory.cs
- ResourceManagerWrapper.cs
- Int16AnimationUsingKeyFrames.cs
- AutomationPattern.cs
- RichTextBoxAutomationPeer.cs
- NativeObjectSecurity.cs
- OutputCacheSettings.cs
- DBConnectionString.cs
- ProcessHostMapPath.cs
- XmlSchemaComplexContentRestriction.cs
- NamedPermissionSet.cs
- CroppedBitmap.cs
- CombinedGeometry.cs
- PageAdapter.cs
- SortedDictionary.cs
- Vector3DCollection.cs
- GridViewColumnHeader.cs
- SizeLimitedCache.cs
- GenerateTemporaryTargetAssembly.cs
- RectangleConverter.cs
- MediaTimeline.cs
- ControlOperationInvoker.cs
- TimeZone.cs
- AddInSegmentDirectoryNotFoundException.cs
- Assembly.cs
- Annotation.cs
- GroupLabel.cs
- ReadOnlyDictionary.cs
- StreamReader.cs
- SkipQueryOptionExpression.cs
- SqlDataRecord.cs
- PropertyGrid.cs
- ElementHostPropertyMap.cs
- HtmlTable.cs
- PeerName.cs
- QilUnary.cs
- BypassElementCollection.cs
- streamingZipPartStream.cs
- Expander.cs
- FormViewCommandEventArgs.cs
- SessionPageStateSection.cs
- LabelInfo.cs
- InlinedAggregationOperatorEnumerator.cs
- DataGridTable.cs
- ProfileSection.cs
- ServiceObjectContainer.cs
- InputDevice.cs
- MergeLocalizationDirectives.cs
- SamlAttributeStatement.cs
- IImplicitResourceProvider.cs
- GroupBoxDesigner.cs
- OutOfMemoryException.cs
- QilReplaceVisitor.cs
- RenderingEventArgs.cs