我们可以在会话中存储Sitecore项目吗?
以下是示例.这个项目["/ sitecore/content/Vitality/Data/my_points/mypoints"]
我必须在许多功能中使用,因为.我想避免使用静态路径,因此希望将其存储在会话中.有没有办法解决这个问题.
Sitecore.Data.Items.Item item = contextDB.GetItem("/sitecore/content/Vitality/Data/my_points/mypoints");
Run Code Online (Sandbox Code Playgroud)
在我看来,你应该避免在会话中存储Sitecore项目.这可能会导致潜在的内存泄漏,并且这些项目将针对每个新会话在服务器端尚未过期的每个会话进行存储,因此您的应用程序内存使用可能会增长而无需任何处理方式.
理论上,Sitecore内置缓存应该可以正常工作但如果它还不够,您可能会尝试仅缓存一些您需要在会话中使用的字段值,而不是存储整个Item对象.您仍然需要记住,您需要以自定义方式处理项目更改,因此每次更改项目时,都会清除或更新缓存的值.
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |