Так что я просто исправил ошибку в рамках, которые я разрабатываю. Псевдо-псевдокод выглядит следующим образом:Кэширование шаблонов в ASP.NET
myoldObject = new MyObject { someValue = "old value" };
cache.Insert("myObjectKey", myoldObject);
myNewObject = cache.Get("myObjectKey");
myNewObject.someValue = "new value";
if(myObject.someValue != cache.Get("myObjectKey").someValue)
myObject.SaveToDatabase();
Так, по существу, я получаю объект из кэша, а затем сравнивая исходный объект в кэше объекта, чтобы увидеть, если мне нужно, чтобы сохранить его в в случае его изменения. Проблема возникла из-за того, что исходный объект является ссылкой ... поэтому изменение someValue также изменило ссылочный кешированный объект, поэтому он никогда не будет возвращаться в базу данных. Я исправил его, клонировав объект с кешированной версии, отделив ссылку и позволив мне сравнить новый объект с кешированным.
Мой вопрос: Есть ли лучший способ сделать это, какой-то образец, который вы могли бы порекомендовать? Я не могу быть единственным человеком, который сделал это раньше :)
Есть много вещей, которые я не знаю о языках и синтаксисе. +1, потому что я узнал, что вы можете сделать сеттер частным в публичной собственности. Появляется удивительность! – theo 2008-10-09 02:20:39