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
- FocusManager.cs
- SqlUserDefinedAggregateAttribute.cs
- __Error.cs
- NavigationFailedEventArgs.cs
- TableParagraph.cs
- ScalarType.cs
- ChineseLunisolarCalendar.cs
- AsyncResult.cs
- DataControlFieldCollection.cs
- AccessViolationException.cs
- ConstructorArgumentAttribute.cs
- DesignTimeTemplateParser.cs
- X509Utils.cs
- FlowLayoutSettings.cs
- QuadraticBezierSegment.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- BaseDataList.cs
- ProcessInfo.cs
- PrintPreviewControl.cs
- HuffmanTree.cs
- Evidence.cs
- CodeConditionStatement.cs
- _NestedSingleAsyncResult.cs
- ResourceAttributes.cs
- UInt32Converter.cs
- EdmRelationshipRoleAttribute.cs
- ImageSource.cs
- Object.cs
- StyleBamlTreeBuilder.cs
- ToolStripComboBox.cs
- httpserverutility.cs
- TextBoxLine.cs
- SqlConnectionPoolProviderInfo.cs
- UnsafeCollabNativeMethods.cs
- IdentityModelDictionary.cs
- ConnectionManagementElement.cs
- RightsManagementSuppressedStream.cs
- ButtonBaseAdapter.cs
- LayoutTable.cs
- WebPartCancelEventArgs.cs
- Registry.cs
- EntitySqlQueryCacheKey.cs
- AudioStateChangedEventArgs.cs
- ImageAnimator.cs
- RemoteEndpointMessageProperty.cs
- DecimalConstantAttribute.cs
- EncryptedPackageFilter.cs
- RichTextBoxAutomationPeer.cs
- VirtualPath.cs
- RoutedCommand.cs
- Aggregates.cs
- RectAnimationClockResource.cs
- StylusEditingBehavior.cs
- HttpFormatExtensions.cs
- PinnedBufferMemoryStream.cs
- Token.cs
- SoapInteropTypes.cs
- ItemDragEvent.cs
- Point.cs
- AvTraceDetails.cs
- TaiwanCalendar.cs
- WebPartChrome.cs
- ipaddressinformationcollection.cs
- DependentList.cs
- securitycriticaldata.cs
- FilterQuery.cs
- MatrixCamera.cs
- WebContext.cs
- EnterpriseServicesHelper.cs
- __Error.cs
- DelayedRegex.cs
- BufferedGraphics.cs
- DetailsView.cs
- ToolStripItemImageRenderEventArgs.cs
- ExceptionTrace.cs
- WindowsStartMenu.cs
- ReplyChannelAcceptor.cs
- InvalidEnumArgumentException.cs
- FormViewInsertedEventArgs.cs
- CompositeFontFamily.cs
- OutputCacheProviderCollection.cs
- FontFamily.cs
- CommentGlyph.cs
- EntitySqlQueryCacheEntry.cs
- GradientBrush.cs
- TransformValueSerializer.cs
- Misc.cs
- HtmlSelect.cs
- ManagedWndProcTracker.cs
- ChangePassword.cs
- XmlSchemaAny.cs
- NameObjectCollectionBase.cs
- NameValueCollection.cs
- ValidationPropertyAttribute.cs
- CreateUserWizardStep.cs
- TableItemPattern.cs
- HandleRef.cs
- DeviceFilterDictionary.cs
- MissingMethodException.cs
- MetabaseSettingsIis7.cs