4
我正在使用MVVM Light在兩個ViewModel之間發送消息。在接收VM中,我正在嘗試以下操作:MVVM Light Messenger接收方法
Messenger.Default.Register<NotificationMessage>(this, async (msg) => {
await HandleMessage(msg);
});
private async Task HandleMessage(NoficationMessage message)
{
... code using await
}
第一次發送消息(通過按鈕單擊),異步方法運行。下次消息發送時什麼也沒有發生 - 方法不會被調用(通過斷點檢查)。
以這種方式在Register方法上允許異步嗎?
什麼是解決方法?
請記住,你必須避免異步void的方法內部例外,因爲它們不能被捕獲 – Tseng