В дополнение к методам RegisterChannel () и UnregisterChannel () с их ясными названиями, тип ChannelServices определяет свойство RegisteredChannels. Этот член возвращает массив интерфейсов IChannel, каждый из которых представляет дескриминатор соответствующего канала из тех, которые зарегистрированы в данном домене приложений.
Определение интерфейса IChannel достаточно простое:
public interface IChannel
{
string ChannelName { get; }
int ChannelPriority { get; }
string Parse(string url, ref String objectURI);
}
Каждый канал получает понятное строковое имя вместе с уровнем своего приоритета. Например, если добавить в метод Main () приложения SimpleRemoteObjectClient следующую программную логику:
// Список всех зарегистрированных каналов channels.
IChannel[] channelObjs = ChannelServices.RegisteredChannels;
foreach(IChannel i in channelObjs)
{
Console.WriteLine("Channel name: {0}", i.ChannelName);
Console.WriteLine("Channel Priority: {0}", i.ChannelPriority);
},
тона консоли клиентской стороны можно будет увидеть то, что показано на рис. 1.4.
Рис. 2. Перечисление каналов клиентской стороны