開發與WCF服務通信的Silverlight應用程序。阻止多次連接MVVM ServiceAgent事件
MVVM - > ServiceAgent - > WCF服務
所以在我的ViewModel我有:
ServiceAgent.SearchExternalPatients(Name, (s, e) =>
{
ExternalPatients = e.Result;
});
在我的服務代理
我有:
public void SearchExternalPatients(string name, EventHandler<SearchPatientExternalCompletedEventArgs> callback)
{
_proxy.SearchPatientExternalCompleted += callback;
_proxy.SearchPatientExternalAsync(name);
}
的問題是,每次我點擊搜索按鈕它再次掛鉤事件,當我得到結果回來我收到它幾次。
在MVVM ServiceAgent模式中解除這些事件的最佳方式是什麼?
如果我放置一個「_proxy.SearchPatientExternalCompleted - =回調;」之前的「_proxy.SearchPatientExternalCompleted + =回調;」解決了問題。但這是最好的方式嗎? – BBurke 2011-05-11 05:30:12
只要回調是每次調用的相同委託,它很可能會工作。但是,你想依賴那個巧合嗎? – 2011-05-11 07:27:39