我很新,Silverlight和WCF Ria服務。我有WPF和WinForms背景經驗。從其他項目消費WCF
現在我正在開發一個基本上由Web頁面獲取遠程服務器數據的Silverlight應用程序。
我讀過大量的論壇和文章,解釋如何使用和使用Web服務和WCF。我遵循msdn walkthrough關於如何創建一個從數據庫獲取數據的簡單應用程序,它運行良好。
問題是我不想在我的UI控件中使用任何與WCF相關的代碼或資源。 現在我使用的分層編程架構:
UI - > BLL - > DAL
每個元素是相同的解決方案的單一項目。我的DAL項目是與服務器通信的Web服務(WCF Ria)。
我有一個簡單的類(用戶服務)和方法(GetUsers)在我的DAL項目,下面的代碼:
LoadOperation<u_WEBUSERS> loadOp = this.userContext.Load(this.userContext.GetU_WEBUSERSQuery());
loadOp.Completed += (sender, args) =>
{
users = new List<UserObj>();
foreach (var v in loadOp.Entities)
{
u_WEBUSERS uweb = v as u_WEBUSERS;
UserObj u = new UserObj();
u.Nome = uweb.nome;
u.Morada = uweb.morada;
users.Add(u);
}
};
return users;
的事情是,我的用戶對象,則返回NULL。如果我斷點,我看到第一個結束該方法,只有在調用完成的事件後。
有沒有辦法讓我的GetUsers()返回數據庫信息? 也許我使用分層achitecture不是一個適合我想要的東西...... 感謝
謝謝。它工作完美。我幾乎放棄了希望。我從來沒有想過使用Action delgates。非常感謝 – David 2012-03-23 12:52:44