有人可以简要解释一下吗?它可以与非 Silverlight 客户端一起使用吗?
8 回答
基本上,.NET RIA 服务是一个框架,它隐藏了网络管道逻辑以通过有线 RPC 进行处理,并在客户端和服务器之间桥接代码。
您可以将其视为客户端/服务器开发的 RAD。
来自 Dinesh 的博客:
1. 简化 n 层开发(并真正向您展示为您的 ORM 对象获取多层故事的更好方法 - LINQ to SQL 或 EF 或其他)
2. 在 Silverlight 上支持富 Internet 应用程序 (RIA) 开发- 对于验证、身份验证、简单的数据绑定等,有很棒的端到端故事。
3. 扩展您的 ASP.NET 开发经验。这是基于您已经知道和使用的。那里甚至还有一个用于 SEO 的 ASP.NET DomainDataSource 和模板(希望很快就会有一些 AJAX 的东西 - 手指交叉)。
为了回答你关于未来的一些其他问题,布拉德艾布拉姆斯说:
ASP.NET 访问——通过遵循 RIA 服务模式,您还可以轻松构建 ASP.NET 应用程序,同时利用 RIA 服务的所有内置功能,例如数据验证、授权等。在 3 月预览版中,我们提供了一个 asp:DomainDataSource 控件,它可以让 ASP.NET WebForms 轻松访问您的域逻辑。在此之上构建的是 ASP.NET 动态数据的未来版本,它可以非常容易地根据您的域逻辑生成通用的标准 UI。
回到雷德蒙德,我们正在努力通过 ASP.NET MVC 提供对域逻辑的非常干净的访问。这里的模式很酷,我迫不及待地想在未来的 CTP 中谈论它。
如果您将数据源的真实性与我们希望通过 .NET RIA 服务实现的各种演示选项相结合……
我讨厌只是将您转发到一个网站,但是这个链接有一个很好的解释。
Microsoft .NET RIA 服务通过将 ASP.NET 和 Silverlight 平台结合在一起,简化了传统的 n 层应用程序模式。RIA 服务提供了一种模式来编写在中间层上运行的应用程序逻辑,并控制对查询、更改和自定义操作的数据的访问。它还通过与客户端上的 Silverlight 组件和中间层上的 ASP.NET 集成,为数据验证、身份验证和角色等常见任务提供端到端支持。
据我了解,这是对代码管道和业务逻辑的抽象。例如,您可以使用 LINQ 使用自然查询语法查询这些服务,而不是直接处理控制器中的服务协议。
尽量简洁...
使 Silverlight 前端和服务器后端尽可能透明地使用相同的模型类。通过使模型类可用于前端,为您提供集成的模型验证和操作。
心智模型:RIA 作为一个应用程序而不是两个应用程序。
我根据我听过的一些播客猜测:
这是一个图书馆,它做这样的事情:
- 提供某种方式(我认为是 .NET 属性)在服务器端数据模型上指定数据验证
- 不知何故将此数据发送给客户端(也许是一些自定义的 wsdl-ish 类型的东西?)
- 在客户端,生成一些代理代码,执行与服务器上指定的相同的验证。
如果我没记错的话,他们只支持生成 .NET 代码,所以是 silverlight(可能还有 WPF/XBAP)应用程序。他们提到生成 javascript 作为未来的东西(可能)。
这个想法似乎是您可以超越简单的验证并执行“业务规则”等等,但我不太确定这将如何工作。
有人说它适用于 Silverlight 和 WCF,就像 DCOM 适用于 VB6;在没有真正理解其含义的情况下,连接客户端和服务器非常容易。
根据我从所有博客、演示文稿和官方营销声明中了解到的情况:
一种在应用程序逻辑、持久性逻辑和消费者(例如服务和/或 UI 客户端)逻辑之间清晰划分的模式。这鼓励了应用程序逻辑的重用以及持久性和消费者逻辑的可互换性。
是的,据我所知,将支持非 Silverlight 客户端。
一般信息和下载http://silverlight.net/forums/t/80529.aspx
详细信息在这里 RIAServicesOverviewforMay2009.docx
http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3 -27972bcaabce&displaylang=en
上面有一个系列可以帮助你。
SL 4 + RIA
http://www.dotnetscraps.com/dotnetscraps/post/Silverlight-and-NET-RIA-Services-Step-By-Step.aspx