public override void OnOpen(TimeSpan timeout) { if (this.IssuerBindingContext == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.IssuerBuildContextNotSet, this.GetType()))); } if (this.IssuedSecurityTokenParameters == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.IssuedSecurityTokenParametersNotSet, this.GetType()))); } if (this.SecurityAlgorithmSuite == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SecurityAlgorithmSuiteNotSet, this.GetType()))); } if (this.IssuedTokenCache == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.IssuedTokenCacheNotSet, this.GetType()))); } TimeoutHelper timeoutHelper = new TimeoutHelper(timeout); this.SetupServiceHost(); negotiationHost.Open(timeoutHelper.RemainingTime()); this.stateCache = new NegotiationTokenAuthenticatorStateCache <T>(this.NegotiationTimeout, this.MaximumCachedNegotiationState); this.sctUri = this.StandardsManager.SecureConversationDriver.TokenTypeUri; if (this.SecurityStateEncoder != null) { this.cookieSerializer = new SecurityContextCookieSerializer(this.SecurityStateEncoder, this.KnownTypes); } if (this.negotiationTimeout < TimeSpan.MaxValue) { lock (ThisLock) { this.activeNegotiationChannels1 = new List <IChannel>(); this.activeNegotiationChannels2 = new List <IChannel>(); this.idlingNegotiationSessionTimer = new IOThreadTimer(new Action <object>(this.OnIdlingNegotiationSessionTimer), this, false); this.isTimerCancelled = false; this.idlingNegotiationSessionTimer.Set(this.negotiationTimeout); } } base.OnOpen(timeoutHelper.RemainingTime()); }
public SecurityContextTokenEntry(WSSecureConversation parent, SecurityStateEncoder securityStateEncoder, IList <Type> knownClaimTypes) { this.parent = parent; this.cookieSerializer = new SecurityContextCookieSerializer(securityStateEncoder, knownClaimTypes); }