Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / behaviorssection.cs / 1 / behaviorssection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Configuration; using System.Globalization; using System.ServiceModel; using System.Security; public partial class BehaviorsSection : ConfigurationSection { [ConfigurationProperty(ConfigurationStrings.EndpointBehaviors, Options = ConfigurationPropertyOptions.None)] public EndpointBehaviorElementCollection EndpointBehaviors { get { return (EndpointBehaviorElementCollection)base[ConfigurationStrings.EndpointBehaviors]; } } [ConfigurationProperty(ConfigurationStrings.ServiceBehaviors, Options = ConfigurationPropertyOptions.None)] public ServiceBehaviorElementCollection ServiceBehaviors { get { return (ServiceBehaviorElementCollection)base[ConfigurationStrings.ServiceBehaviors]; } } internal static BehaviorsSection GetSection() { return (BehaviorsSection)ConfigurationHelpers.GetSection(ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls Critical method UnsafeGetSection which elevates in order to fetch config /// caller must guard access to resultant config section /// [SecurityCritical] internal static BehaviorsSection UnsafeGetSection() { return (BehaviorsSection)ConfigurationHelpers.UnsafeGetSection(ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls Critical method UnsafeGetAssociatedSection which elevates in order to fetch config /// caller must guard access to resultant config section /// [SecurityCritical] internal static BehaviorsSection UnsafeGetAssociatedSection(ContextInformation evalContext) { return (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evalContext, ConfigurationStrings.BehaviorsSectionPath); } ////// Critical - calls UnsafeGetAssociatedSection which elevates /// Safe - doesn't leak resultant config /// [SecurityCritical, SecurityTreatAsSafe] internal static void ValidateEndpointBehaviorReference(string behaviorConfiguration, ContextInformation evaluationContext, ConfigurationElement configurationElement) { // ValidateBehaviorReference built on assumption that evaluationContext is valid. // This should be protected at the callers site. If assumption is invalid, then // configuration system is in an indeterminate state. Need to stop in a manner that // user code can not capture. if (null == evaluationContext) { DiagnosticUtility.DebugAssert("ValidateBehaviorReference() should only called with valid ContextInformation"); DiagnosticUtility.FailFast("ValidateBehaviorReference() should only called with valid ContextInformation"); } if (!String.IsNullOrEmpty(behaviorConfiguration)) { BehaviorsSection behaviors = (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evaluationContext, ConfigurationStrings.BehaviorsSectionPath); if (!behaviors.EndpointBehaviors.ContainsKey(behaviorConfiguration)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigInvalidEndpointBehavior, behaviorConfiguration), configurationElement.ElementInformation.Source, configurationElement.ElementInformation.LineNumber)); } } } ////// Critical - calls UnsafeGetAssociatedSection which elevates /// Safe - doesn't leak resultant config /// [SecurityCritical, SecurityTreatAsSafe] internal static void ValidateServiceBehaviorReference(string behaviorConfiguration, ContextInformation evaluationContext, ConfigurationElement configurationElement) { // ValidateBehaviorReference built on assumption that evaluationContext is valid. // This should be protected at the callers site. If assumption is invalid, then // configuration system is in an indeterminate state. Need to stop in a manner that // user code can not capture. if (null == evaluationContext) { DiagnosticUtility.DebugAssert("ValidateBehaviorReference() should only called with valid ContextInformation"); DiagnosticUtility.FailFast("ValidateBehaviorReference() should only called with valid ContextInformation"); } if (!String.IsNullOrEmpty(behaviorConfiguration)) { BehaviorsSection behaviors = (BehaviorsSection)ConfigurationHelpers.UnsafeGetAssociatedSection(evaluationContext, ConfigurationStrings.BehaviorsSectionPath); if (!behaviors.ServiceBehaviors.ContainsKey(behaviorConfiguration)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigInvalidServiceBehavior, behaviorConfiguration), configurationElement.ElementInformation.Source, configurationElement.ElementInformation.LineNumber)); } } } } } // 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
- EmptyQuery.cs
- SocketAddress.cs
- SubqueryRules.cs
- HttpClientCertificate.cs
- OrderedDictionary.cs
- ReservationNotFoundException.cs
- WebPartZoneAutoFormat.cs
- UnorderedHashRepartitionStream.cs
- XmlSerializationWriter.cs
- Util.cs
- EmptyReadOnlyDictionaryInternal.cs
- HttpModuleAction.cs
- XhtmlTextWriter.cs
- MSG.cs
- SafePointer.cs
- Ipv6Element.cs
- xmlsaver.cs
- OdbcConnectionHandle.cs
- DataGridRowDetailsEventArgs.cs
- FixUpCollection.cs
- bidPrivateBase.cs
- SoapClientMessage.cs
- DefinitionBase.cs
- DetailsViewPagerRow.cs
- ComplexLine.cs
- Semaphore.cs
- QuerySetOp.cs
- XmlSchemaGroup.cs
- HttpModuleActionCollection.cs
- IndexedGlyphRun.cs
- ItemsPanelTemplate.cs
- ThumbAutomationPeer.cs
- SafeNativeMethodsCLR.cs
- WebPartCatalogAddVerb.cs
- SkewTransform.cs
- SQLDateTimeStorage.cs
- CurrentChangedEventManager.cs
- entityreference_tresulttype.cs
- CatalogPartCollection.cs
- ExecutedRoutedEventArgs.cs
- ResponseBodyWriter.cs
- GZipObjectSerializer.cs
- UrlMappingsSection.cs
- ProviderCommandInfoUtils.cs
- InputBuffer.cs
- IntegerValidator.cs
- DeclaredTypeElementCollection.cs
- WebPartChrome.cs
- LineGeometry.cs
- ViewManagerAttribute.cs
- PropertyItem.cs
- ADMembershipProvider.cs
- XmlCustomFormatter.cs
- KnownBoxes.cs
- DockProviderWrapper.cs
- EventProviderWriter.cs
- WindowsClaimSet.cs
- CodeTypeDeclaration.cs
- LogStream.cs
- SmtpReplyReaderFactory.cs
- MessageSecurityOverMsmqElement.cs
- XmlSchemaValidator.cs
- Dispatcher.cs
- ObjectDataSourceView.cs
- EventLogTraceListener.cs
- CannotUnloadAppDomainException.cs
- HttpHandlerActionCollection.cs
- WebHttpBehavior.cs
- WebPartsPersonalization.cs
- WebPartDeleteVerb.cs
- FontSizeConverter.cs
- PropertyConverter.cs
- XsdBuildProvider.cs
- WmlValidationSummaryAdapter.cs
- DesignerHierarchicalDataSourceView.cs
- DynamicScriptObject.cs
- HtmlTernaryTree.cs
- NegationPusher.cs
- Rect3D.cs
- TriggerActionCollection.cs
- SrgsText.cs
- SystemPens.cs
- BoolExpression.cs
- Parser.cs
- DrawingGroupDrawingContext.cs
- CodeGeneratorOptions.cs
- FixUp.cs
- SqlMultiplexer.cs
- DataControlFieldHeaderCell.cs
- SelectionProcessor.cs
- AnnotationService.cs
- BinaryFormatter.cs
- PkcsMisc.cs
- TrackingCondition.cs
- NodeInfo.cs
- DataGridViewLinkColumn.cs
- DllNotFoundException.cs
- FormsAuthenticationTicket.cs
- KeyValuePair.cs
- SqlCommandSet.cs