Лучшие практики для восстановления неисправного канала в spring.net - PullRequest
2 голосов
/ 09 августа 2011

в spring.net вы можете легко использовать каналы wcf:

<wcf:channelFactory id="Service" channelType="IDebtorService, Service" endpointConfigurationName="WcfDebtorEndpoint" />

<endpoint name="WcfDebtorEndpoint" address="http://localhost/ServiceHost/Debtor.svc" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding1" contract="IDebtorService"  />

Вы можете вставить их в другие объекты и использовать их там как обычные объекты. Но как я могу иметь дело с неисправными каналами wcf в spring.net? Разве не возможно, что пружинные wcf-каналы перейдут в неисправное состояние?

Как я могу открыть, закрыть, снова открыть или воссоздать канал в spring.net?

1 Ответ

0 голосов
/ 06 августа 2014

Если ваш канал находится в состоянии сбоя, вы можете понять происхождение ваших исключений.

При использовании WCF неисправные каналы представляют собой состояние, вызванное необработанными исключениями. Правильная обработка исключений WCF (для серверов) использует ошибки. Неисправности могут быть обработаны клиентом и серверами, не нарушая ваш канал.

Используя Spring.Net на стороне сервера, вы можете решить, что с помощью AOP Spring.Net AOP может помочь вам сделать это. Чтобы использовать AOP в WCF Services, вам не нужно ничего менять. Это очень просто, потому что WCF требует контракт на основе интерфейса для вашего сервиса, это полезно и тоже требуется движком AOP.

Может быть, вам нужен пример: вы можете понять, что я пытаюсь сказать, глядя на мою обработку исключений в WCF, Spring.Net и AOP. Класс ExceptionHandlerAroundAdvice может прояснить вопросы об этой концепции.

...