媒体和节点对象之间的区别?(本布拉科)

本文关键字:布拉科 区别 节点 对象 之间 媒体 | 更新日期: 2023-09-27 18:33:07

在 Umbraco 中,Media 对象与 Node 对象有什么区别?

(我正在做一个WebForms项目。

媒体和节点对象之间的区别?(本布拉科)

关于您的项目是 Web 表单,使用这些类没有区别。实际上,您可能根本不应该使用这两个类,正如我在下面描述的那样。

在 v4.7 中,umbraco.NodeFactory.Node 类是从 Umbraco 检索已发布内容的默认方法。正如 Martijn 指出的那样,发布的内容是 XML 缓存。这取代了现在标记为过时的 umbraco.presentation.nodeFactory.Node 类,因此即使在 v4.7 项目中也不应使用。

在最新版本的 Umbraco 中,引入了 DynamicNodeIPublishedContent,以取代在已发布的 UI 中使用Node的依赖。

同样,在 v4.7 中,Media 是用于从 Umbraco 媒体库中检索任何对象的类。正如Martijn指出的那样,这需要调用数据库。介质现在也被标记为过时,不应使用。

但是,由于v4.8 Media被替换为DynamicMedia。这不会调用数据库,而是调用 Umbraco 的 Lucene 索引,该索引保存有关媒体库中媒体项的所有信息,因此速度明显更快。在最新版本中,检索媒体的首选方法实际上是使用IPublishedContent请参阅此处 http://our.umbraco.org/documentation/Reference/Templating/Mvc/querying

在最新版本的 Umbraco 中,有一个新的 Umbraco.Core.Models.Media 类,碰巧它确实会调用数据库,但该类是新的 Umbraco API 的一部分,因此不应在已发布的 UI 中使用。

媒体对象用于媒体项。节点对象用于内容 tems。查看这些链接。http://our.umbraco.org/documentation/reference/management/mediahttp://our.umbraco.org/Documentation/Reference/Querying/uQuery/Content/Nodes

此外,从 XML 缓存中读取节点,直接从数据库中读取媒体。