Media和Node对象之间的区别? (一把umbraco)

时间:2013-09-26 20:52:06

标签: c# webforms umbraco

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

(我正在开发一个WebForms项目。)

2 个答案:

答案 0 :(得分:3)

关于您的项目是webforms,使用这些类没有区别。实际上,您可能根本不应该使用这两个类,如下所述。

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

在最新版本的Umbraco中,引入了DynamicNodeIPublishedContent来取代在已发布的用户界面中使用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的一部分,所以应该不得在已发布的用户界面中使用。

答案 1 :(得分:2)

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

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