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
- ApplyTemplatesAction.cs
- IntranetCredentialPolicy.cs
- GeneralTransform3DTo2D.cs
- HtmlTable.cs
- TimeSpanSecondsConverter.cs
- PersistenceTypeAttribute.cs
- SqlUtil.cs
- ArrayElementGridEntry.cs
- _ListenerRequestStream.cs
- MouseGesture.cs
- NameTable.cs
- Matrix.cs
- DataKey.cs
- MenuItemCollection.cs
- SelectedPathEditor.cs
- BufferAllocator.cs
- LayoutDump.cs
- TypeGenericEnumerableViewSchema.cs
- ArglessEventHandlerProxy.cs
- XmlComment.cs
- EnumBuilder.cs
- HideDisabledControlAdapter.cs
- TypeConverter.cs
- CanonicalFontFamilyReference.cs
- PeerResolverBindingElement.cs
- FixedDocumentSequencePaginator.cs
- MatchAllMessageFilter.cs
- MsmqMessageSerializationFormat.cs
- MetadataStore.cs
- InvalidOleVariantTypeException.cs
- RolePrincipal.cs
- RTLAwareMessageBox.cs
- SemanticKeyElement.cs
- StateDesigner.cs
- XPathNavigator.cs
- ArgumentsParser.cs
- Exceptions.cs
- DynamicILGenerator.cs
- ComboBox.cs
- RuleSettingsCollection.cs
- ChannelDispatcher.cs
- InvalidFilterCriteriaException.cs
- CreateUserWizard.cs
- Boolean.cs
- Decorator.cs
- BitmapFrameEncode.cs
- MediaElementAutomationPeer.cs
- InputReport.cs
- _AutoWebProxyScriptWrapper.cs
- TabPanel.cs
- ProfileService.cs
- LoginView.cs
- diagnosticsswitches.cs
- QilScopedVisitor.cs
- DnsPermission.cs
- CodeGotoStatement.cs
- DataServiceQueryOfT.cs
- SecurityUtils.cs
- IxmlLineInfo.cs
- OracleBoolean.cs
- ControlBindingsCollection.cs
- ServicesUtilities.cs
- DataGridHelper.cs
- Collection.cs
- SkipStoryboardToFill.cs
- InfoCardSymmetricAlgorithm.cs
- sqlinternaltransaction.cs
- Point3DCollectionValueSerializer.cs
- EventLog.cs
- SortKey.cs
- Line.cs
- TreeNodeBinding.cs
- IdnMapping.cs
- ChannelBuilder.cs
- StringValidatorAttribute.cs
- Color.cs
- ExceptionUtil.cs
- ComUdtElementCollection.cs
- GridViewColumn.cs
- PopOutPanel.cs
- Pen.cs
- Condition.cs
- ActivityExecutorSurrogate.cs
- ReadOnlyDictionary.cs
- GridItem.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DynamicUpdateCommand.cs
- TableLayoutCellPaintEventArgs.cs
- XmlSiteMapProvider.cs
- TransformerTypeCollection.cs
- SurrogateSelector.cs
- ListControlConvertEventArgs.cs
- DataGridLinkButton.cs
- HtmlImage.cs
- GroupBox.cs
- ResourceSetExpression.cs
- PointAnimationClockResource.cs
- CriticalFinalizerObject.cs
- OutKeywords.cs
- DocumentPageTextView.cs