2011-08-09 40 views
2

您可以輕鬆地使用WCF渠道:​​最佳實踐,在spring.net恢復一個故障通道中spring.net

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

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

您可以將它們注入到其他對象,並使用它們有正常的對象。但是我怎樣才能在spring.net中處理錯誤的wcf頻道呢?春季wcf頻道不可能進入故障狀態嗎?

如何在spring.net中打開,關閉,重新打開或重新創建頻道?

回答

0

如果您的頻道處於故障狀態,您可能會了解您的例外情況。

使用WCF,故障通道是由未處理的異常引起的狀態。關於WCF異常(針對服務器)的正確處理是使用故障。客戶端和服務器可以處理故障,而不會破壞您的渠道。

在服務器端使用Spring.Net,你可以解決使用AOP,Spring.Net AOP可以幫助你做到這一點。要在WCF服務中使用AOP,您不需要更改任何內容。這很簡單,因爲WCF需要一個基於接口的合同來處理你的服務,這對AOP引擎來說也是有幫助和必需的。可能你需要一個例子:你可能明白我在說什麼,看看我的WCF,Spring.Net和AOP的異常處理。類ExceptionHandlerAroundAdvice可以澄清有關這個概念的問題。

+0

對於客戶端,您可以爲您的客戶端代理創建代理,以處理您的真實代理的內部狀態。這是不正常的,讓我看起來像一個解決方法。 –