【发布时间】:2014-01-02 10:40:30
【问题描述】:
我有一个从缓存中检索的模型,我在多个页面上使用它。模型的一部分有一个名为 Breadcrumb 的属性——它是面包屑元素的集合,更新如下:
model.Breadcrumbs.Add(UrlUtilities.Urls.DesignerJoinConfirmation, "Feedback Confirmation", "Thank you for your feedback");
我的问题是,即使我从缓存中取回模型,当我在从缓存返回后添加另一个面包屑时(例如,对于子页面,我会将最新页面添加到末尾),然后更新缓存模型。有没有更新模型而不更新缓存的方法?
我尝试过创建一个临时模型并将缓存的对象重新分配给它,如下所示:
Model model = GetCachedModel();
Model tempModel = new Model();
tempModel = model;
然后更新 tempModel 但这也会更新缓存的对象。我发现停止更新缓存对象的唯一方法是制作 tempModel,然后将每个属性与缓存模型分开重新分配,但如果我每次都必须重新分配所有属性,这肯定不需要缓存。有没有更简单的方法来更新缓存对象而不更新缓存本身?
【问题讨论】: