Występuje problem podczas korzystania z funkcji pamięci podręcznej Asp.Net. Dodaję obiekt do pamięci podręcznej, w innym momencie otrzymuję obiekt z pamięci podręcznej, modyfikuję jedną z jego właściwości, a następnie zapisuję zmiany w bazie danych.Asp.Net Cache, modyfikuj obiekt z pamięci podręcznej i zmienia on buforowaną wartość
Ale następnym razem, gdy otrzymam obiekt z pamięci podręcznej, zawiera zmienione wartości. Tak więc, kiedy modyfikuję obiekt, modyfikuje on wersję zawartą w pamięci podręcznej, mimo że nie aktualizowałem jej specjalnie w pamięci podręcznej. Czy ktoś wie, jak mogę uzyskać obiekt z pamięci podręcznej, który nie odwołuje się do wersji z pamięci podręcznej?
tj
Krok 1:
Item item = new Item();
item.Title = "Test";
Cache.Insert("Test", item, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);
Krok 2:
Item item = (Item)Cache.Get("test");
item.Title = "Test 1";
Krok 3:
Item item = (Item)Cache.Get("test");
if(item.Title == "Test 1"){
Response.Write("Object has been changed in the Cache.");
}
Zdaję sobie sprawę, że z powyższego przykładu byłoby sensu wszelkie zmiany w przedmiocie uzyskać odbicie w pamięci podręcznej, ale moja sytuacja jest nieco bardziej skomplikowana i zdecydowanie nie chcę, aby tak się stało.
Może "Przedmiot" to "struktura"? Pełny przykład kodu byłby pomocny ... –