1 //----------------------------------------------------------------------------- 2 // Copyright (c) Microsoft Corporation. All rights reserved. 3 //----------------------------------------------------------------------------- 4 5 namespace System.ServiceModel.Dispatcher 6 { 7 using System; 8 using System.ServiceModel.Channels; 9 using System.ServiceModel; 10 11 interface IChannelBinder 12 { 13 IChannel Channel { get; } 14 bool HasSession { get; } 15 Uri ListenUri { get; } 16 EndpointAddress LocalAddress { get; } 17 EndpointAddress RemoteAddress { get; } 18 Abort()19 void Abort(); CloseAfterFault(TimeSpan timeout)20 void CloseAfterFault(TimeSpan timeout); 21 TryReceive(TimeSpan timeout, out RequestContext requestContext)22 bool TryReceive(TimeSpan timeout, out RequestContext requestContext); BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state)23 IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state); EndTryReceive(IAsyncResult result, out RequestContext requestContext)24 bool EndTryReceive(IAsyncResult result, out RequestContext requestContext); 25 Send(Message message, TimeSpan timeout)26 void Send(Message message, TimeSpan timeout); BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, object state)27 IAsyncResult BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, object state); EndSend(IAsyncResult result)28 void EndSend(IAsyncResult result); 29 Request(Message message, TimeSpan timeout)30 Message Request(Message message, TimeSpan timeout); BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, object state)31 IAsyncResult BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, object state); EndRequest(IAsyncResult result)32 Message EndRequest(IAsyncResult result); 33 WaitForMessage(TimeSpan timeout)34 bool WaitForMessage(TimeSpan timeout); BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)35 IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state); EndWaitForMessage(IAsyncResult result)36 bool EndWaitForMessage(IAsyncResult result); 37 CreateRequestContext(Message message)38 RequestContext CreateRequestContext(Message message); 39 } 40 } 41