我正在使用C#和Caliburn。Caliburn - 異常處理和救援
是否有一種全局方法來捕獲所有視圖模型中的所有異常?
從DI/IoC容器導入時出現某種異常時怎麼辦?
我基本上想在發生這種情況時顯示一個消息框。
RescueAttribute在我看來就像它必須放在每個視圖模型類上一樣,而且它在您同時使用AsyncActionAttribute時看起來不像它的作用。
我正在使用C#和Caliburn。Caliburn - 異常處理和救援
是否有一種全局方法來捕獲所有視圖模型中的所有異常?
從DI/IoC容器導入時出現某種異常時怎麼辦?
我基本上想在發生這種情況時顯示一個消息框。
RescueAttribute在我看來就像它必須放在每個視圖模型類上一樣,而且它在您同時使用AsyncActionAttribute時看起來不像它的作用。
方法IConventionManager.ApplyActionCreationConventions(IAction action, IMethod targetMethod)
在動作創建之後被調用,並且可以向其添加過濾器。
您可以提供自定義IConventionManager
覆蓋DefaultConventionManager.ApplyActionCreationConventions
並推動搶救過濾器。
請注意,在這種情況下,您必須提供每個ViewModel的救援方法;爲了解決這個問題,您可以構建一個新的自定義應急過濾器(按照原始過濾器的行)並將異常分派到您的基礎架構。
我會研究這個。 – jonathanpeppers 2010-08-12 22:00:29
有一個非常簡單的方法來實現這一點,只需重寫Bootstrapper中的UnhandledException方法即可。
這裏有一個例子:Global handling exception in WPF app with Caliburn.Micro
在平均時間,我做了一個基類集與虛擬救援方法來處理這個問題。任何其他方式? – jonathanpeppers 2010-07-30 15:37:26