System.ServiceModel.Security.SecurityProtocolFactory
namespace System.ServiceModel.Security
{
internal abstract class SecurityProtocolFactory : ISecurityCommunicationObject
{
protected WrapperSecurityCommunicationObject CommunicationObject { get; }
public bool ActAsInitiator { get; }
public BufferManager StreamBufferManager { get; set; }
public ExtendedProtectionPolicy ExtendedProtectionPolicy { get; set; }
public bool AddTimestamp { get; set; }
public bool DetectReplays { get; set; }
public SecurityAlgorithmSuite IncomingAlgorithmSuite { get; set; }
public int MaxCachedNonces { get; set; }
public TimeSpan MaxClockSkew { get; set; }
public NonceCache NonceCache { get; set; }
public SecurityAlgorithmSuite OutgoingAlgorithmSuite { get; set; }
public TimeSpan ReplayWindow { get; set; }
public SecurityBindingElement SecurityBindingElement { get; set; }
public SecurityTokenManager SecurityTokenManager { get; set; }
public virtual bool SupportsDuplex { get; }
public SecurityHeaderLayout SecurityHeaderLayout { get; set; }
public virtual bool SupportsReplayDetection { get; }
public virtual bool SupportsRequestReply { get; }
public SecurityStandardsManager StandardsManager { get; set; }
public TimeSpan TimestampValidityDuration { get; set; }
public TimeSpan DefaultOpenTimeout { get; }
public TimeSpan DefaultCloseTimeout { get; }
protected SecurityProtocolFactory();
public void OnClosed();
public void OnClosing();
public void OnFaulted();
public void OnOpened();
public void OnOpening();
public virtual void OnAbort();
public virtual Task OnCloseAsync(TimeSpan timeout);
public SecurityProtocol CreateSecurityProtocol(EndpointAddress target, Uri via, object listenerSecurityState, bool isReturnLegSecurityRequired, TimeSpan timeout);
public virtual T GetProperty<T>();
protected abstract SecurityProtocol OnCreateSecurityProtocol(EndpointAddress target, Uri via, object listenerSecurityState, TimeSpan timeout);
public virtual Task OnOpenAsync(TimeSpan timeout);
public Task OpenAsync(bool actAsInitiator, TimeSpan timeout);
public Task CloseAsync(bool aborted, TimeSpan timeout);
}
}