0
我在Caliburn 1.1.0中獲取RescueAttribute時遇到了一些問題。基本上我打算在每個視圖模型中放置一個通用的catch-all異常處理程序,但我似乎從未調用該方法。Caliburn問題 - RescueAttribute不起作用
[PerRequest( 「ConfigurationGroupViewModel」)] [營救( 「GeneralRescue」)] 公共類ConfigurationGroupViewModel:演示 {
................
public void GeneralRescue(Exception ex) MessageBox.Show(ex.Message); }
}
我已經完全遵循什麼是卡利文檔中所指定的,我看到了一個post早些時候提到的一些關於IConventionManager但我擔心的是,甚至直接把救援方法的ViewModel類本身的救援方法永遠不會被調用。任何人都可以幫助我嗎?
謝謝!
我在視圖中通過cal調用操作:Message.Attach =「[Event Click] = [Action SomeActionNameOnVM]」,其中SomeActionNameOnVM方法在某處引發異常(例如拋出新的Exception() )。我期待Rescue方法(位於VM本身)在發生這種情況時被調用。我相信它是一個常規操作(它只是簽名公共無效SomeActionNameOnVM())。 – bluebloodedboy 2010-12-20 03:58:26
我找不出爲什麼它不起作用。我建議你檢查源代碼1.1(/ tags/Release 1.1)中的示例。如果你在使用它的時候仍然有問題,並且你可以建立一個這個問題的小問題,我一定會看看它。 – 2010-12-23 14:06:39
我想我找到了問題。發生了什麼事情是,我正在使用Visual Studio調試來測試這個功能,儘管我明確地拋出了異常(我在救援方法上放了一個斷點),但我仍然感到沮喪,因爲我的救援方法從未被調用過。看來,只有當我沒有在調試模式下運行它時,該方法纔會被調用(我試圖在之後運行.exe文件,並調用了我的方法)。這是打算,還是這是Caliburn本身的缺陷? – bluebloodedboy 2011-01-11 04:53:58