rio*_*fly 7 c# performance umbraco
然后有许多代表Umbraco文档的类:
1) umbraco.cms.businesslogic.Content
2) umbraco.cms.businesslogic.web.Document
3) umbraco.MacroEngines.DynamicNode
4) umbraco.presentation.nodeFactory.Node
Run Code Online (Sandbox Code Playgroud)
还有其他人吗?
你能解释一下他们做了什么,以及何时使用它们?
umbraco.MacroEngines.DynamicNode和umbraco.presentation.nodeFactory.Node看起来是一样的.也许最好使用Node类,因为它更快?
我有一个理论:
umbraco.cms.businesslogic.Content和umbraco.cms.businesslogic.web.Document是cmsContent和cmsDocument数据库表的表示.
umbraco.presentation.nodeFactory.Node和umbraco.MacroEngines.DynamicNode表示在XML文件中缓存的节点,用于网站.第一个是简单的Node,第二个是添加了动态属性的同一个Node,一个是nodeType中定义的属性.所以,我认为Node比DynamicNode更快
有人可以证实吗?
rad*_*dyz 10
基于个人用途:
请参阅下面的更多详细信息,但不,Node和DynamicNode不相同(DynamicNode使用Examine,如果需要,还将回退到数据库中读取).
umbraco.cms.businesslogic.Content: Content是CMSNode和将使用通用数据的类之间的中间层.内容是一种数据结构,用于保存在其对应的ContentType中定义的通用数据.内容可以在某种程度上与数据库表中的行进行比较,其ContentType包含列的定义,Content包含数据.请注意,umbraco中的内容数据不是表格,而是树形结构.
我从来没有必要直接使用这个类,因为它的所有操作都由相应的子类处理,例如:Document,Media,Member.这个类轮流继承自CMSNode,它是umbraco中每个内容数据的基类
umbraco.cms.businesslogic.web.Document:Document表示一个网页,已发布的文档在缓存的xml文档中公开给运行时/公共网站.
从"内容部分"引用节点时使用此类.它处理CRUD操作.通过这个类,您还可以获得对每个属性的DataType的引用,以防您想要在aspx页面中呈现这些控件.
umbraco.NodeFactory.Node:它实现了暴露只读方法的INode接口.它的所有信息都来自umbraco缓存的xml.您将无法访问每个属性的控件,而是根据数据类型格式化每个属性的值.
您只能使用此类进行读取操作.由于所有内容都来自缓存(仅限已发布的节点),因此显示数据非常快.
umbraco.MacroEngines.DynamicNode:它被实现为使用剃刀宏.它在引擎盖下使用NodeFactory,这意味着它还可以访问缓存的xml.虽然如果使用相关的DynamicMedia,请小心使用:1:ExamineIndex删除任何html标签,2:它回退到umbraco_v4.11.5中的默认媒体类型(如果它不在运行时缓存中,则为db).
与上述相同.
| 归档时间: |
|
| 查看次数: |
10623 次 |
| 最近记录: |