【发布时间】:2012-03-22 15:34:57
【问题描述】:
我对 silverlight 和 WCF Ria 服务非常陌生。我有 WPF 和 WinForms 方面的背景经验。
现在我正在开发一个silverlight 应用程序,它基本上包含一个从远程服务器获取数据的网页。
我已经阅读了大量解释如何使用和使用 Web 服务和 WCF 的论坛和文章。我关注了msdn walkthrough,了解如何创建一个从数据库获取数据的简单应用程序,效果很好。
问题是我的 UI 控件中不希望有任何与 WCF 相关的代码或资源。 现在我正在使用分层编程架构:
UI --> BLL --> DAL
这些元素中的每一个都是同一解决方案中的一个项目。我的 DAL 项目是与服务器通信的 Web 服务 (WCF Ria)。
我的 DAL 项目中有一个简单的类(用户服务)和方法(GetUsers),代码如下:
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() 返回数据库信息? 也许我使用的分层架构不适合我想要的...... 谢谢
【问题讨论】:
标签: wcf silverlight web-services