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
- AppDomain.cs
- UseLicense.cs
- SmtpAuthenticationManager.cs
- XslTransform.cs
- MulticastIPAddressInformationCollection.cs
- DbProviderManifest.cs
- XmlNamespaceDeclarationsAttribute.cs
- Win32.cs
- EventProviderWriter.cs
- UnsafeMethods.cs
- WindowsSecurityTokenAuthenticator.cs
- TableCellAutomationPeer.cs
- PropertyIDSet.cs
- Calendar.cs
- MissingMethodException.cs
- Facet.cs
- RoleManagerModule.cs
- PerformanceCounterPermissionEntryCollection.cs
- IResourceProvider.cs
- DrawingDrawingContext.cs
- sitestring.cs
- MetadataArtifactLoaderCompositeResource.cs
- Thread.cs
- TextParagraphProperties.cs
- HashMembershipCondition.cs
- Events.cs
- SchemaTypeEmitter.cs
- FileDialog_Vista.cs
- SynchronousChannelMergeEnumerator.cs
- BitmapPalette.cs
- PriorityChain.cs
- DispatchOperation.cs
- FormViewRow.cs
- XsdBuildProvider.cs
- AccessDataSourceView.cs
- MyContact.cs
- IProvider.cs
- TableAdapterManagerHelper.cs
- QueryPageSettingsEventArgs.cs
- CommonObjectSecurity.cs
- RegionIterator.cs
- AdPostCacheSubstitution.cs
- EndEvent.cs
- TreeNodeStyle.cs
- OperationExecutionFault.cs
- ArgumentOutOfRangeException.cs
- As.cs
- EntityDataSourceUtil.cs
- DrawingContextWalker.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- FontUnitConverter.cs
- XmlChildEnumerator.cs
- BinaryMessageEncodingBindingElement.cs
- CapabilitiesSection.cs
- ExpressionConverter.cs
- ProcessActivityTreeOptions.cs
- WebCategoryAttribute.cs
- serverconfig.cs
- Listbox.cs
- BoundColumn.cs
- WorkflowServiceHost.cs
- ToolBar.cs
- StringFunctions.cs
- CollectionChangeEventArgs.cs
- SerializationAttributes.cs
- ChildrenQuery.cs
- ProcessManager.cs
- DiagnosticsConfiguration.cs
- DataServiceQueryProvider.cs
- FileCodeGroup.cs
- GridViewCancelEditEventArgs.cs
- Italic.cs
- InfoCardRSACryptoProvider.cs
- CurrentChangingEventManager.cs
- ColorMap.cs
- ResourcesBuildProvider.cs
- FontClient.cs
- DoWorkEventArgs.cs
- SoundPlayer.cs
- AbsoluteQuery.cs
- CompModSwitches.cs
- WebPartEditVerb.cs
- InstanceKeyCollisionException.cs
- ConfigXmlAttribute.cs
- ToolBarTray.cs
- XmlBaseReader.cs
- ServiceInfo.cs
- _NegoState.cs
- LineServicesCallbacks.cs
- SSmlParser.cs
- SocketInformation.cs
- DiscriminatorMap.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- SmiMetaData.cs
- PasswordTextNavigator.cs
- ReadOnlyDictionary.cs
- SingleAnimationBase.cs
- MsmqProcessProtocolHandler.cs
- HwndSubclass.cs
- DesignerInterfaces.cs