using System.ServiceModel; namespace ArchestrAServices.Contract; [ServiceContract(SessionMode = SessionMode.Required, Namespace = "http://ArchestrAServices.Contract")] public interface ISecureSession { [OperationContract(IsInitiating = true)] ArchestrAResult Connect(out Connection ConnectionDescription, string Application, string Domain, string Host, PublicKey ClientToken); [OperationContract(IsInitiating = false)] ArchestrAResult ActivateSession(ConnectionId Id, ConnectionAuthenticationData Authentication, ulong Timeout); [OperationContract(IsInitiating = false)] ArchestrAResult ActivateUser(ConnectionId Id, UserToken UserToken); [OperationContract(IsInitiating = false)] ArchestrAResult KeepAlive(ConnectionId Id); [OperationContract(IsInitiating = false, IsTerminating = true)] ArchestrAResult Disconnect(ConnectionId ConnectionID); }