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
- RootBrowserWindow.cs
- ToolStripDropDownItem.cs
- EventDescriptor.cs
- DataGridViewImageCell.cs
- HtmlElementEventArgs.cs
- XmlWrappingReader.cs
- InternalEnumValidator.cs
- EntityTypeEmitter.cs
- MarshalDirectiveException.cs
- HtmlControlPersistable.cs
- PersonalizationProvider.cs
- IdleTimeoutMonitor.cs
- BuildResult.cs
- SyntaxCheck.cs
- ConnectionConsumerAttribute.cs
- LoadGrammarCompletedEventArgs.cs
- TypeForwardedToAttribute.cs
- sqlmetadatafactory.cs
- SqlNotificationRequest.cs
- WindowCollection.cs
- ReferentialConstraint.cs
- SqlProfileProvider.cs
- TransactedBatchContext.cs
- Visitors.cs
- ComboBox.cs
- SchemaElementLookUpTable.cs
- TableColumnCollectionInternal.cs
- PropertyChangedEventArgs.cs
- Attachment.cs
- DataContractAttribute.cs
- MenuStrip.cs
- WsatServiceCertificate.cs
- TimeSpanConverter.cs
- SignatureGenerator.cs
- FlowLayout.cs
- ProfileService.cs
- GridViewHeaderRowPresenter.cs
- IISMapPath.cs
- CursorConverter.cs
- StreamGeometryContext.cs
- RegisteredArrayDeclaration.cs
- MetadataWorkspace.cs
- SecurityValidationBehavior.cs
- XPathNavigatorReader.cs
- FontNamesConverter.cs
- ErrorRuntimeConfig.cs
- ToggleProviderWrapper.cs
- sqlser.cs
- Merger.cs
- Funcletizer.cs
- BehaviorEditorPart.cs
- TableCell.cs
- XmlSchemaSimpleContentRestriction.cs
- HostingEnvironmentException.cs
- IProvider.cs
- FixedSOMTableCell.cs
- TypeSystemProvider.cs
- FixedSOMLineCollection.cs
- EntityDesignerBuildProvider.cs
- IgnoreSectionHandler.cs
- UnmanagedMemoryStream.cs
- CodeDirectiveCollection.cs
- FieldBuilder.cs
- MonikerSyntaxException.cs
- AccessViolationException.cs
- ConfigurationSchemaErrors.cs
- DataGridParentRows.cs
- DynamicControlParameter.cs
- XmlEntityReference.cs
- DesignerVerb.cs
- DBSchemaTable.cs
- DecimalAnimationBase.cs
- Model3D.cs
- ActivityStatusChangeEventArgs.cs
- CurrentChangingEventArgs.cs
- RepeaterItemCollection.cs
- storepermissionattribute.cs
- SQLDecimalStorage.cs
- DropShadowEffect.cs
- BlurBitmapEffect.cs
- NumberFunctions.cs
- SqlUDTStorage.cs
- Vector3D.cs
- SecurityState.cs
- AnimationClockResource.cs
- ErrorWrapper.cs
- FileDialog.cs
- WebPartAddingEventArgs.cs
- FileLevelControlBuilderAttribute.cs
- XmlQualifiedNameTest.cs
- WindowsFormsEditorServiceHelper.cs
- ToolStripDropTargetManager.cs
- ByteArrayHelperWithString.cs
- WindowsTooltip.cs
- Viewport3DAutomationPeer.cs
- Transform.cs
- EqualityArray.cs
- SecondaryIndex.cs
- NativeActivityTransactionContext.cs
- HelpHtmlBuilder.cs