Channel Interfaces
public interface IChannelManager : ICommunicationObject
{
get; }string Scheme { get; }ReadOnlyCollection<IChannel> GetChannels();
T GetProperty<T>() class T : class;
}
public interface IChannelFactory : IChannelManager
{
get; set; }
bool CanCreateChannel<TChannel>();
TChannel CreateChannel<TChannel>(string address);
TChannel CreateChannel<TChannel>(Uri address);
TChannel CreateChannel<TChannel>(EndpointAddress to);
TChannel CreateChannel<TChannel>(EndpointAddress to, Filter filter, int priority);
}
public interface IListenerFactory : IChannelManager
{
get; set; }Identity Identity {
get; }Uri Uri {
get; }
bool CanCreateListener<TChannel>() where TChannel : class, IChannel;
IListener<TChannel> CreateListener<TChannel>() where TChannel : class, IChannel;
IListener<TChannel> CreateListener<TChannel>(Filter filter, int priority) where TChannel : class, IChannel;
IListener<TChannel> CreateListener<TChannel>(EndpointAddress endpointAddress) where TChannel : class, IChannel;
IListener<TChannel> CreateListener<TChannel>(EndpointAddress endpointAddress, Filter filter, int priority) where TChannel : class, IChannel;
ReadOnlyCollection<IListener> GetListeners();
void SetUri(Uri baseAddress, string relativeAddress);
void SetUri(Uri listenUri);
void SetUniqueUri();
void SetUniqueUri(string hostName);
void SetUniqueUri(string hostName, int port);
}
