Ручной WCF и ChannelFactory - PullRequest
       16

Ручной WCF и ChannelFactory

2 голосов
/ 10 января 2011

Я только начинаю с WCF и использую более старую статью, опубликованную Мигелем А. Кастро, под названием WCF, Ручной путь .В статье он упоминает об использовании ChannelFactory для создания прокси службы.В статье он показывает этот код для создания прокси:

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>().CreateChannel();

Когда я пытаюсь использовать этот код с конечными точками, настроенными в web.config, я получаю ошибки об этой конечной точке, равной нулю.Очевидно, это работает, если я указываю имя конечной точки в конструкторе ChannelFactory, но это не лучший вариант для повторного использования.Но, похоже, это сработает, если я сделаю следующее:

IProductAdmin productAdminChannel = new ChannelFactory<IProductAdmin>("*").CreateChannel();

Это просто изменение в том, как работает класс ChannelFactory (поскольку статье уже почти 2 года)?Какова "лучшая практика" для создания прокси-серверов WCF и повторного использования?

1 Ответ

2 голосов
/ 10 января 2011

Я не могу говорить за оригинальную статью, но, возможно, это просто недосмотр со стороны автора?Насколько я знаю, 2-й листинг в вашем посте всегда был способом создания канала с использованием файла конфигурации.Передача * будет использовать стандартную / первую конфигурацию для типа канала в файле.Вы также можете передать определенное имя вместо * в случае, если у вас есть несколько именованных конфигов для одного и того же типа.

Я использую ("*") маршрут уже несколько лет, и этохороший путь, если у вас будет только одна конечная точка для каждого типа.

...