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
- ZipQueryOperator.cs
- ClientTarget.cs
- ResourceContainer.cs
- FixedBufferAttribute.cs
- RootNamespaceAttribute.cs
- documentsequencetextpointer.cs
- ScaleTransform.cs
- FixedPageStructure.cs
- RouteParametersHelper.cs
- ActivityDesignerHighlighter.cs
- ExceptionUtil.cs
- EndpointConfigContainer.cs
- WebBrowserNavigatingEventHandler.cs
- ReliableChannelFactory.cs
- StaticResourceExtension.cs
- ImageFormatConverter.cs
- InteropAutomationProvider.cs
- ProjectionPruner.cs
- ToolboxItem.cs
- DocumentPageTextView.cs
- Page.cs
- DbMetaDataColumnNames.cs
- SegmentInfo.cs
- VectorCollection.cs
- DispatcherEventArgs.cs
- WindowsNonControl.cs
- CodeGenerator.cs
- RequestQueue.cs
- HwndProxyElementProvider.cs
- EnumCodeDomSerializer.cs
- TreeNodeMouseHoverEvent.cs
- SelectionPattern.cs
- OdbcEnvironmentHandle.cs
- ExpandableObjectConverter.cs
- SoapIncludeAttribute.cs
- XmlEncodedRawTextWriter.cs
- BitmapSizeOptions.cs
- JulianCalendar.cs
- WebPartDisplayModeEventArgs.cs
- MinimizableAttributeTypeConverter.cs
- LoginUtil.cs
- InputLanguageSource.cs
- NonClientArea.cs
- PageMediaSize.cs
- ZipIOLocalFileDataDescriptor.cs
- DataSourceXmlAttributeAttribute.cs
- EntityParameterCollection.cs
- RubberbandSelector.cs
- SdlChannelSink.cs
- SingleObjectCollection.cs
- MessageRpc.cs
- StickyNoteAnnotations.cs
- ValueHandle.cs
- AssemblyBuilderData.cs
- QilDataSource.cs
- GeometryGroup.cs
- ProtocolsConfigurationHandler.cs
- InstanceKeyCollisionException.cs
- Rectangle.cs
- ClientFormsAuthenticationMembershipProvider.cs
- BinaryCommonClasses.cs
- PathTooLongException.cs
- FontStyle.cs
- BindingCollection.cs
- CodeObject.cs
- XmlSerializerOperationBehavior.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ExpressionLexer.cs
- StoreItemCollection.Loader.cs
- FixedSOMGroup.cs
- CollectionChangedEventManager.cs
- SimpleTableProvider.cs
- PeerNearMe.cs
- DrawingAttributesDefaultValueFactory.cs
- XMLDiffLoader.cs
- QilStrConcatenator.cs
- HyperLinkField.cs
- CompositionCommandSet.cs
- ProtocolsConfigurationEntry.cs
- WorkflowRuntimeServiceElement.cs
- DataObject.cs
- ReliabilityContractAttribute.cs
- sqlcontext.cs
- KerberosRequestorSecurityToken.cs
- EventArgs.cs
- datacache.cs
- ComplexPropertyEntry.cs
- SplashScreenNativeMethods.cs
- CryptoKeySecurity.cs
- SqlConnectionStringBuilder.cs
- TdsEnums.cs
- NGCSerializationManager.cs
- LineMetrics.cs
- ObjectDataSourceEventArgs.cs
- Rfc2898DeriveBytes.cs
- XmlQuerySequence.cs
- CreateUserErrorEventArgs.cs
- OperatingSystem.cs
- TreeViewImageIndexConverter.cs
- WebPartMinimizeVerb.cs