public virtual void OnAbort() { if (SecurityProtocolFactory.ActAsInitiator) { foreach (SupportingTokenProviderSpecification spec in ChannelSupportingTokenProviderSpecification) { SecurityUtils.AbortTokenProviderIfRequired(spec.TokenProvider); } foreach (string action in ScopedSupportingTokenProviderSpecification.Keys) { ICollection <SupportingTokenProviderSpecification> supportingProviders = ScopedSupportingTokenProviderSpecification[action]; foreach (SupportingTokenProviderSpecification spec in supportingProviders) { SecurityUtils.AbortTokenProviderIfRequired(spec.TokenProvider); } } } }