繁体   English   中英

ADO.NET 数据服务在整体设计中的位置

[英]ADO.NET data services their place in overall design

ADO.NET 数据服务是应用程序中的下一代数据访问层。 我已经看到很多直接从 UI 层使用它的示例,例如 Silverlight 或 Ajax 来获取数据。 这几乎就像拥有一个两层系统,业务层完全移除。 DAL 是否应该由业务层访问,而不是直接从 UI 访问?

ADO.NET 数据服务是应用程序中的下一代数据访问层

我不知道你从哪里得到 也许您将 ADO.NET 数据服务与 ADO.NET 实体框架混淆了?


不应假设 Microsoft 生产的所有东西对每个开发人员都有价值。 在我看来,ADO.NET Data Services 是一种快速创建 CRUD 服务的方法,它可能在实体上定义了一些其他操作,但这些操作都是存储过程。 如果您只需要一个面向数据库的服务,那么这可能就是您想要的。 当然,除了在数据库中之外,没有必要为这样的服务进行任何编码。

但这并不意味着 ADO.NET 数据服务“在每个项目的整体设计中都占有一席之地”。 它满足了对足够客户的需求,微软认为值得花钱开发和维护它。

就此而言,他们还认为 ASP.NET MVC 是个好主意……

:-)

ADO.NET 数据服务是另一种为了移动数据而需要评估的工具。

.NET RIA 服务是另一个。 我会说好多了。

我将 ADO.NET 数据服务视为一些高级框架使用的低级服务。 我不会让我的 UI 直接与它对话。

我看到的 ADO.NET 数据服务的主要问题与安全性有关,而不是其他任何问题。

对于简单/快速的任务,在 Intranet 中,如果你对你的设计不太挑剔,它会很有用。 (IMO) 当您需要从现有数据库中快速公开数据时,它会非常方便。

我说得心应手,但这不是我的第一选择,因为我尽可能避免“快速而肮脏”的解决方案。 那些解决方案就像鬼魂,总是回来困扰你。

在我看来,其他答案低估了 ADO.Net 数据服务的重要性。 尽管在您的应用程序中直接使用它会带来与两层系统的一些相似性,但其他 Microsoft 产品,如基于它的 .Net RIA Services、Windows Asure Storage Services。 与答案之一中的短语“对于简单/快速的任务,在 Intranet 中,如果您对自己的设计不太挑剔,它可能很有用”相反,它可能对公共网站有用,包括 ASP 中的网站。网络 MVC。

Dino Esposito 在他的博客中描述了 Ado.Net 数据服务的驱动力

http://weblogs.asp.net/despos/archive/2008/04/21/the-quot-driving-force-quot-pattern-part-1-of-n.aspx

“ADO.NET 数据服务(又名 Astoria)

驱动力:构建交互丰富的Web系统的需求。 抽象地说:用于在任何类型的应用程序(包括企业 class 应用程序)中构建中间层或者更好的是中间层之上的服务层的新工具集。 具体是什么:为您提供从超链接调用的 URL,以将数据传送到客户端。 更适合客户端需要对数据进行直接|部分过滤访问的场景。 不适合从 IE 查询数据,但适合构建新一代的 Web 控件,呼吸 AJAX。 仅此而已。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM