Sitecore ItemID是否会从部署更改为部署?

时间:2016-10-26 03:38:15

标签: sitecore

我是Sitecore的新手,对此有一个基本的问题。创建Sitecore项目时,会为此项目创建唯一ID。如果我在代码中使用此项ID来保存对它的引用,这样可以吗?这是否会从部署更改为部署?

5 个答案:

答案 0 :(得分:2)

如果您实际“部署”了您的项目 - 使用包或序列化(工具) - ,ID将保持不变,您可以在代码中保留对它的引用。

这是一个很好的编码实践,但是不要在你的代码周围传播硬编码的guid(就像ID实际上是包装的那样)。因此要么将它们捆绑在一段代码中,这些代码可以轻松地部署而没有副作用,或者将它们放在配置文件中(但是再次捆绑它们并且不要与其他东西混合)。

如果出于某种原因某件物品将在某一天消失并且您需要重新创建它(意思是:ID已更改)或者您只是需要它指向一个新项目,您将会感激您确实保留了该项目它在某处分开;)

答案 1 :(得分:1)

这是使Sitecore ID像GUID一样的Sitecore行为。这是一个非常好的方法。项目的ID也可以在您的C#代码中使用

Sitecore中的ID类用于识别Sitecore中所有类型的项目,即内容项,模板,媒体项等。它是.NET自己的System.Guid结构的包装器,并且有一个名为Guid的属性,它返回一个系统.Guid。在内部,Sitecore使用uniqueidentifier类型在其SQL Server数据库中存储ID。

例如,模板也是一个项目,它具有唯一的ID。如果环境之间的ID不同,则需要在环境之间修改代码。

答案 2 :(得分:1)

Sitecore ItemID始终保持唯一。因此,如果将内容从CM服务器发布到CD服务器,则项ID不会更改。您可以使用ItemID,即使您更改了名称,仍然可以参考正确的Sitecore内容项。

建议使用某种类并将项目ID放在那里并从那里引用,以便将来,如果您需要更改,那么您可以在一个地方更改它。

直接使用GUID或任何数字值是一种神奇的值,并且总是容易出错。

答案 3 :(得分:0)

快速回答,在部署期间ID不会更改,因此您可以在代码中保留引用。

答案 4 :(得分:0)

Sitecore项目ID不会从部署更改为部署,您可以在代码中使用此ID,如:

  • 创建一个包含ID的类
  • 或者可能是配置文件