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
- UInt32.cs
- BamlLocalizableResourceKey.cs
- RectAnimationUsingKeyFrames.cs
- ExtenderControl.cs
- BamlTreeMap.cs
- ExceptionWrapper.cs
- SqlDataSource.cs
- DataGridViewColumnTypePicker.cs
- DeleteStoreRequest.cs
- NotSupportedException.cs
- ExpandSegmentCollection.cs
- RijndaelManaged.cs
- DBParameter.cs
- CheckBoxField.cs
- OleDbConnection.cs
- OpenFileDialog.cs
- XmlSerializer.cs
- TemplateBaseAction.cs
- MulticastDelegate.cs
- EventItfInfo.cs
- RuleSetBrowserDialog.cs
- FlowPosition.cs
- HttpCookiesSection.cs
- JsonMessageEncoderFactory.cs
- ExternalCalls.cs
- UInt64Converter.cs
- HttpFileCollection.cs
- Pkcs7Signer.cs
- RunInstallerAttribute.cs
- MemberCollection.cs
- XmlSchemaElement.cs
- MaskedTextBoxDesignerActionList.cs
- Point3D.cs
- BinaryUtilClasses.cs
- _AuthenticationState.cs
- ICollection.cs
- UpdateExpressionVisitor.cs
- MessageQueueEnumerator.cs
- QilInvokeEarlyBound.cs
- XmlSchemaException.cs
- Hex.cs
- EpmContentDeSerializerBase.cs
- ColumnReorderedEventArgs.cs
- MenuItemStyle.cs
- _ScatterGatherBuffers.cs
- IxmlLineInfo.cs
- PackageRelationshipSelector.cs
- TextCompositionEventArgs.cs
- TextSelectionHelper.cs
- LightweightEntityWrapper.cs
- Exceptions.cs
- ProtocolReflector.cs
- DictionaryBase.cs
- columnmapkeybuilder.cs
- SignedXmlDebugLog.cs
- WebPartMenu.cs
- RSAPKCS1SignatureDeformatter.cs
- WebConfigurationHostFileChange.cs
- MembershipValidatePasswordEventArgs.cs
- FSWPathEditor.cs
- RadioButton.cs
- Native.cs
- MatrixAnimationUsingPath.cs
- XsdValidatingReader.cs
- DataRowChangeEvent.cs
- PermissionSet.cs
- ChangeInterceptorAttribute.cs
- CultureTable.cs
- DragCompletedEventArgs.cs
- TextShapeableCharacters.cs
- COM2ExtendedBrowsingHandler.cs
- HttpSessionStateWrapper.cs
- OAVariantLib.cs
- ExpressionContext.cs
- HMACSHA512.cs
- PreviewPageInfo.cs
- HtmlHistory.cs
- SqlCommandBuilder.cs
- SqlTypesSchemaImporter.cs
- ListViewGroupCollectionEditor.cs
- Matrix3D.cs
- QueryTask.cs
- Switch.cs
- WebPartConnectionsEventArgs.cs
- WindowsStatic.cs
- ResourceManager.cs
- InvokeWebService.cs
- IncrementalReadDecoders.cs
- QilVisitor.cs
- EntityAdapter.cs
- ScriptManager.cs
- ValueConversionAttribute.cs
- PhonemeConverter.cs
- StringComparer.cs
- DataGridViewComboBoxCell.cs
- SimpleTableProvider.cs
- EncoderBestFitFallback.cs
- HtmlControl.cs
- HtmlPhoneCallAdapter.cs
- PLINQETWProvider.cs