WCF: Должен ли я слушать события Channel.Faults, если я использую ChannelFactory и создаю канал для каждой операции - PullRequest
1 голос
/ 28 октября 2011

Я создаю канал каждый раз перед выполнением операции с сервисом, используя ChannelFactory.CreateChannel ().В конце операции я закрою канал или прерву его, если есть какие-либо исключения.

Так как я создаю канал каждый раз, должен ли я слушать события "Faults".

Кстати, почему channelFactory имеет событие Faults, когда весь материал выполняется каналом.

Или - будет ли он активирован, если какой-либо из каналов, созданных на этом заводе, выйдет из строя?

Заранее спасибо, Мечтатель!

1 Ответ

2 голосов
/ 28 октября 2011

Единственная причина, по которой я бы слушал событие Faults, - это если я хотел сделать что-то конкретное, если событие происходит (кроме прерывания канала).Я не могу, из головы в голову, придумать причину его использования - но это не значит, что его нет.

В вашем случае, если вы прерываете канал, когдавозникает ошибка, тогда все в порядке - вам не нужно обрабатывать событие Faults.

FactoryChannel<T> реализует ICommunicationObject , который определяет событие с ошибкой,MSDN говорит: «Определяет контракт на базовый конечный автомат для всех объектов, ориентированных на коммуникацию в системе, включая каналы, менеджеров каналов, фабрики , слушателей и диспетчеров, а также хосты служб. "

FactoryChannel<T>.CreateChannel возвращает тип IChannel , который также реализует ICommunicationObject.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...