//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------ namespace System.ServiceModel.Security { using System; using System.ServiceModel; using System.ServiceModel.Channels; /// /// Defines the IWSTrustContract for sending WS-Trust messages to an STS. /// [ServiceContract] public interface IWSTrustContract { /// /// Method for Cancel binding for WS-Trust /// /// The Request Message that contains a RST. /// Response message containing the RSTR. [OperationContract(Name = "Cancel", Action = "*", ReplyAction = "*")] Message Cancel(Message message); /// /// Begin Async Method for Cancel binding for WS-Trust /// /// The Request Message that contains a RST. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send request from other requests. /// An IAsyncResult object that represents the asynchronous send, which could still be pending. [OperationContract(AsyncPattern = true, Name = "Cancel", Action = "*", ReplyAction = "*")] IAsyncResult BeginCancel(Message message, AsyncCallback callback, object asyncState); /// /// End Async Method for Cancel binding for WS-Trust /// /// A reference to the outstanding asynchronous send request. /// Response message containing the RSTR. Message EndCancel(IAsyncResult asyncResult); /// /// Method for Issue binding for WS-Trust /// /// The Request Message that contains a RST. /// Response message containing the RSTR. [OperationContract(Name = "Issue", Action = "*", ReplyAction = "*")] Message Issue(Message message); /// /// Begin Async Method for Issue binding for WS-Trust /// /// The Request Message that contains a RST. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send request from other requests. /// An IAsyncResult object that represents the asynchronous send, which could still be pending. [OperationContract(AsyncPattern = true, Name = "Issue", Action = "*", ReplyAction = "*")] IAsyncResult BeginIssue(Message message, AsyncCallback callback, object asyncState); /// /// End Async Method for Issue binding for WS-Trust /// /// A reference to the outstanding asynchronous send request. /// Response message containing the RSTR. Message EndIssue(IAsyncResult asyncResult); /// /// Method for Renew binding for WS-Trust /// /// The Request Message that contains a RST. /// Response message containing the RSTR. [OperationContract(Name = "Renew", Action = "*", ReplyAction = "*")] Message Renew(Message message); /// /// Begin Async Method for Renew binding for WS-Trust /// /// The Request Message that contains a RST. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send request from other requests. /// An IAsyncResult object that represents the asynchronous send, which could still be pending. [OperationContract(AsyncPattern = true, Name = "Renew", Action = "*", ReplyAction = "*")] IAsyncResult BeginRenew(Message message, AsyncCallback callback, object asyncState); /// /// End Async Method for Renew binding for WS-Trust /// /// A reference to the outstanding asynchronous send request. /// Response message containing the RSTR. Message EndRenew(IAsyncResult asyncResult); /// /// Method for Validate binding for WS-Trust /// /// The Request Message that contains a RST. /// Response message containing the RSTR. [OperationContract(Name = "Validate", Action = "*", ReplyAction = "*")] Message Validate(Message message); /// /// Begin Async Method for Validate binding for WS-Trust /// /// The Request Message that contains a RST. /// An optional asynchronous callback, to be called when the send is complete. /// A user-provided object that distinguishes this particular asynchronous send request from other requests. /// An IAsyncResult object that represents the asynchronous send, which could still be pending. [OperationContract(AsyncPattern = true, Name = "Validate", Action = "*", ReplyAction = "*")] IAsyncResult BeginValidate(Message message, AsyncCallback callback, object asyncState); /// /// End Async Method for Validate binding for WS-Trust /// /// A reference to the outstanding asynchronous send request. /// Response message containing the RSTR. Message EndValidate(IAsyncResult asyncResult); } }