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
- Bidi.cs
- UInt32Converter.cs
- TrustManager.cs
- CustomPopupPlacement.cs
- DashStyles.cs
- NavigatorOutput.cs
- EntitySqlQueryBuilder.cs
- SqlMultiplexer.cs
- ContentType.cs
- SpellerInterop.cs
- DecimalConverter.cs
- MatrixAnimationUsingKeyFrames.cs
- IssuanceLicense.cs
- XmlSchemaResource.cs
- ParameterCollectionEditor.cs
- ToolboxItem.cs
- UrlMappingsSection.cs
- CatchBlock.cs
- ValidationVisibilityAttribute.cs
- RequestQueue.cs
- Logging.cs
- StringTraceRecord.cs
- CodePageEncoding.cs
- VisualTarget.cs
- AmbientProperties.cs
- ControlFilterExpression.cs
- DataGridViewCell.cs
- DiscoveryEndpointElement.cs
- HostExecutionContextManager.cs
- shaper.cs
- EvidenceTypeDescriptor.cs
- CodeMethodReturnStatement.cs
- UmAlQuraCalendar.cs
- Executor.cs
- CompiledIdentityConstraint.cs
- ListManagerBindingsCollection.cs
- DateTimeOffsetConverter.cs
- FastEncoder.cs
- WebPartPersonalization.cs
- StylusEditingBehavior.cs
- BaseServiceProvider.cs
- ModifiableIteratorCollection.cs
- RoutedEventConverter.cs
- TextPenaltyModule.cs
- SubMenuStyleCollection.cs
- DeviceContext.cs
- Compiler.cs
- Utility.cs
- Message.cs
- ToolboxComponentsCreatedEventArgs.cs
- XsdBuildProvider.cs
- ISessionStateStore.cs
- KeyTime.cs
- MatrixConverter.cs
- SchemaType.cs
- ToolStripLocationCancelEventArgs.cs
- WindowShowOrOpenTracker.cs
- RadioButton.cs
- CodeBinaryOperatorExpression.cs
- SqlClientMetaDataCollectionNames.cs
- SizeFConverter.cs
- MessageQueuePermission.cs
- TranslateTransform.cs
- ServiceReference.cs
- WindowsGraphicsWrapper.cs
- PropertyExpression.cs
- RecognizerBase.cs
- DataGridViewLinkColumn.cs
- RichTextBox.cs
- ObjectListField.cs
- KeyboardNavigation.cs
- ReadOnlyTernaryTree.cs
- ImageMap.cs
- FormViewCommandEventArgs.cs
- XmlSchemaGroupRef.cs
- LogicalExpr.cs
- RequestStatusBarUpdateEventArgs.cs
- ProcessModule.cs
- StickyNoteHelper.cs
- TrackingRecord.cs
- safelinkcollection.cs
- ListBoxAutomationPeer.cs
- EtwTrace.cs
- OdbcConnectionHandle.cs
- RestHandlerFactory.cs
- metadatamappinghashervisitor.cs
- DesignerActionMethodItem.cs
- AsyncOperationManager.cs
- CompoundFileStorageReference.cs
- Geometry.cs
- HostedElements.cs
- LinqDataSourceInsertEventArgs.cs
- XmlDeclaration.cs
- XmlDataSourceNodeDescriptor.cs
- webclient.cs
- filewebresponse.cs
- ExceptionUtil.cs
- Volatile.cs
- ClaimComparer.cs
- PageRanges.cs