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
- TreeNodeBindingCollection.cs
- UInt64Converter.cs
- StateBag.cs
- GatewayDefinition.cs
- EmbeddedMailObjectsCollection.cs
- SetStateDesigner.cs
- VisualBrush.cs
- EntityDataSourceViewSchema.cs
- ActivityStatusChangeEventArgs.cs
- XPathNodeIterator.cs
- ExtendedProtectionPolicyElement.cs
- PointAnimationClockResource.cs
- TextRunCacheImp.cs
- FileStream.cs
- hebrewshape.cs
- nulltextcontainer.cs
- ActivationServices.cs
- RandomNumberGenerator.cs
- GeneralTransform2DTo3DTo2D.cs
- InteropBitmapSource.cs
- SecUtil.cs
- _LoggingObject.cs
- ServiceThrottlingBehavior.cs
- Ipv6Element.cs
- SchemaNotation.cs
- ForeignConstraint.cs
- ZoneLinkButton.cs
- PostBackOptions.cs
- XmlUTF8TextReader.cs
- Color.cs
- Ray3DHitTestResult.cs
- AssemblyResourceLoader.cs
- RightsManagementEncryptionTransform.cs
- EndpointAddress10.cs
- NegotiationTokenProvider.cs
- WebRequestModulesSection.cs
- ValidationResults.cs
- TraceProvider.cs
- TagMapCollection.cs
- CodeDirectoryCompiler.cs
- MsmqHostedTransportConfiguration.cs
- PrimitiveSchema.cs
- CombinedGeometry.cs
- HttpHandlersSection.cs
- Mouse.cs
- DocumentViewer.cs
- LinqDataSourceDeleteEventArgs.cs
- AppliesToBehaviorDecisionTable.cs
- GridViewColumn.cs
- SerialReceived.cs
- ResourceProperty.cs
- PaintEvent.cs
- CustomExpression.cs
- ProcessHostMapPath.cs
- FloatUtil.cs
- FileInfo.cs
- ItemList.cs
- BooleanStorage.cs
- WebPartDisplayMode.cs
- DateTimeUtil.cs
- X509CertificateStore.cs
- ImageSource.cs
- StyleConverter.cs
- RightsManagementInformation.cs
- Visitor.cs
- AssemblyResourceLoader.cs
- SiteMapNodeCollection.cs
- PhonemeEventArgs.cs
- DownloadProgressEventArgs.cs
- GradientBrush.cs
- OracleString.cs
- SecureStringHasher.cs
- ConvertersCollection.cs
- ActiveXHelper.cs
- ChameleonKey.cs
- _OSSOCK.cs
- PropertyInformationCollection.cs
- SqlUserDefinedTypeAttribute.cs
- XmlILOptimizerVisitor.cs
- WindowsScroll.cs
- SqlCacheDependencyDatabaseCollection.cs
- DetailsViewModeEventArgs.cs
- Memoizer.cs
- TypeElement.cs
- RelationshipFixer.cs
- DbDataSourceEnumerator.cs
- WebDescriptionAttribute.cs
- WindowsRegion.cs
- OpenTypeLayout.cs
- SQLBytes.cs
- PageHandlerFactory.cs
- RecommendedAsConfigurableAttribute.cs
- BaseTreeIterator.cs
- DataServiceOperationContext.cs
- SkipQueryOptionExpression.cs
- FormatterServices.cs
- RequestCachePolicy.cs
- CodePropertyReferenceExpression.cs
- XmlSortKey.cs
- ConstantSlot.cs