Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / IssuedTokenClientCredential.cs / 1 / IssuedTokenClientCredential.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security { using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.ServiceModel.Security.Tokens; public sealed class IssuedTokenClientCredential { SecurityKeyEntropyMode defaultKeyEntropyMode = AcceleratedTokenProvider.defaultKeyEntropyMode; KeyedByTypeCollectionlocalIssuerChannelBehaviors; Dictionary > issuerChannelBehaviors; bool cacheIssuedTokens = SpnegoTokenProvider.defaultClientCacheTokens; TimeSpan maxIssuedTokenCachingTime = SpnegoTokenProvider.DefaultClientMaxTokenCachingTime; EndpointAddress localIssuerAddress; Binding localIssuerBinding; int issuedTokenRenewalThresholdPercentage = AcceleratedTokenProvider.defaultServiceTokenValidityThresholdPercentage; bool isReadOnly; internal IssuedTokenClientCredential() { } internal IssuedTokenClientCredential(IssuedTokenClientCredential other) { this.defaultKeyEntropyMode = other.defaultKeyEntropyMode; this.cacheIssuedTokens = other.cacheIssuedTokens; this.issuedTokenRenewalThresholdPercentage = other.issuedTokenRenewalThresholdPercentage; this.maxIssuedTokenCachingTime = other.maxIssuedTokenCachingTime; this.localIssuerAddress = other.localIssuerAddress; this.localIssuerBinding = (other.localIssuerBinding != null) ? new CustomBinding(other.localIssuerBinding) : null; if (other.localIssuerChannelBehaviors != null) this.localIssuerChannelBehaviors = GetBehaviorCollection(other.localIssuerChannelBehaviors); if (other.issuerChannelBehaviors != null) { this.issuerChannelBehaviors = new Dictionary >(); foreach (Uri uri in other.issuerChannelBehaviors.Keys) { this.issuerChannelBehaviors.Add(uri, GetBehaviorCollection(other.issuerChannelBehaviors[uri])); } } this.isReadOnly = other.isReadOnly; } public EndpointAddress LocalIssuerAddress { get { return this.localIssuerAddress; } set { ThrowIfImmutable(); this.localIssuerAddress = value; } } public Binding LocalIssuerBinding { get { return this.localIssuerBinding; } set { ThrowIfImmutable(); this.localIssuerBinding = value; } } public SecurityKeyEntropyMode DefaultKeyEntropyMode { get { return this.defaultKeyEntropyMode; } set { SecurityKeyEntropyModeHelper.Validate(value); ThrowIfImmutable(); this.defaultKeyEntropyMode = value; } } public bool CacheIssuedTokens { get { return this.cacheIssuedTokens; } set { ThrowIfImmutable(); this.cacheIssuedTokens = value; } } public int IssuedTokenRenewalThresholdPercentage { get { return this.issuedTokenRenewalThresholdPercentage; } set { ThrowIfImmutable(); this.issuedTokenRenewalThresholdPercentage = value; } } public Dictionary > IssuerChannelBehaviors { get { if (this.issuerChannelBehaviors == null) this.issuerChannelBehaviors = new Dictionary >(); return this.issuerChannelBehaviors; } } public KeyedByTypeCollection LocalIssuerChannelBehaviors { get { if (this.localIssuerChannelBehaviors == null) this.localIssuerChannelBehaviors = new KeyedByTypeCollection (); return this.localIssuerChannelBehaviors; } } public TimeSpan MaxIssuedTokenCachingTime { get { return this.maxIssuedTokenCachingTime; } set { if (value < TimeSpan.Zero) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value, SR.GetString(SR.SFxTimeoutOutOfRange0))); } if (TimeoutHelper.IsTooLarge(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value, SR.GetString(SR.SFxTimeoutOutOfRangeTooBig))); } ThrowIfImmutable(); this.maxIssuedTokenCachingTime = value; } } KeyedByTypeCollection GetBehaviorCollection(KeyedByTypeCollection behaviors) { KeyedByTypeCollection result = new KeyedByTypeCollection (); foreach (IEndpointBehavior behavior in behaviors) { result.Add(behavior); } return result; } internal void MakeReadOnly() { this.isReadOnly = true; } void ThrowIfImmutable() { if (this.isReadOnly) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } } } } // 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
- ControlCollection.cs
- CatalogPartChrome.cs
- SurrogateChar.cs
- MergeLocalizationDirectives.cs
- ClientUtils.cs
- DefaultAuthorizationContext.cs
- WorkflowMarkupSerializerMapping.cs
- PeerEndPoint.cs
- Axis.cs
- TraceFilter.cs
- VisualTreeHelper.cs
- TextTreeTextNode.cs
- InvalidFilterCriteriaException.cs
- HandlerBase.cs
- WrappedOptions.cs
- Geometry3D.cs
- SerializationSectionGroup.cs
- DataGridViewRowEventArgs.cs
- EntityException.cs
- CoTaskMemUnicodeSafeHandle.cs
- ContextProperty.cs
- MaskDescriptors.cs
- HandlerBase.cs
- SafeProcessHandle.cs
- DataServiceHost.cs
- StorageMappingItemLoader.cs
- ObjectPersistData.cs
- StretchValidation.cs
- ToolStripHighContrastRenderer.cs
- SqlBuilder.cs
- ObjectConverter.cs
- SQLDecimalStorage.cs
- GeometryHitTestResult.cs
- ConsoleCancelEventArgs.cs
- InvokeBinder.cs
- UInt32Converter.cs
- WebControlAdapter.cs
- HtmlTextViewAdapter.cs
- DataGridViewUtilities.cs
- DbgUtil.cs
- Span.cs
- ObjectReaderCompiler.cs
- CachedFontFace.cs
- Html32TextWriter.cs
- AdPostCacheSubstitution.cs
- ResourcesBuildProvider.cs
- CheckStoreFileValidityRequest.cs
- QuarticEase.cs
- TemplateManager.cs
- IisTraceListener.cs
- storepermission.cs
- QueryableFilterUserControl.cs
- TabControlCancelEvent.cs
- AccessibilityHelperForVista.cs
- AutoGeneratedField.cs
- SpecularMaterial.cs
- StatusBarPanelClickEvent.cs
- GridViewPageEventArgs.cs
- x509store.cs
- HtmlElement.cs
- Array.cs
- RoutedEventValueSerializer.cs
- XhtmlBasicCalendarAdapter.cs
- DesignerView.Commands.cs
- ObjectStateFormatter.cs
- HwndStylusInputProvider.cs
- WebPartMenuStyle.cs
- ELinqQueryState.cs
- CssClassPropertyAttribute.cs
- NamedPermissionSet.cs
- TextBoxAutomationPeer.cs
- DynamicILGenerator.cs
- BaseTransportHeaders.cs
- ParallelForEach.cs
- Size3D.cs
- DoubleAnimationBase.cs
- TreeSet.cs
- EntityContainerEmitter.cs
- MaskedTextProvider.cs
- InstanceDataCollectionCollection.cs
- SignatureResourceHelper.cs
- Scene3D.cs
- WebUtil.cs
- CapabilitiesState.cs
- AdornedElementPlaceholder.cs
- Emitter.cs
- SchemaManager.cs
- XmlLanguageConverter.cs
- BaseProcessor.cs
- PhysicalFontFamily.cs
- ExpressionConverter.cs
- TemplateModeChangedEventArgs.cs
- figurelengthconverter.cs
- ImageList.cs
- PropertyContainer.cs
- SiteOfOriginPart.cs
- TextBoxRenderer.cs
- WebPartsSection.cs
- ResXResourceWriter.cs
- CacheHelper.cs