Member 10530640 Ответов: 1

Как реализовать постоянный кэш в c#.net?


Я хочу сохранить некоторые данные в постоянном кэше, а затем как реализовать постоянный кэш в c#.net?

Что я уже пробовал:

публичный статический пустота главный()
{
var dictionary = new PersistentDictionary & lt;string,> ("имена");
Приставка.WriteLine ("как тебя зовут?");
строка имя = консоли.С readline();
если (словарь.ContainsKey(firstName))
{
Приставка.WriteLine ("Добро пожаловать обратно {0} {1}",
имя,
словарь[firstName]);
}
ещё
{
Приставка.метод WriteLine(
-Я тебя не знаю, {0}. Как ваша фамилия?",
имя);
словарь[firstName] = консоль.С readline();
}
}

1 Ответов

Рейтинг:
0

F-ES Sitecore

Я полагаю, под настойчивостью вы подразумеваете постоянство? Вы можете использовать сеанс, чтобы запомнить что-то о пользователе в этом сеансе (google "asp.net сессия"). Если вы хотите запомнить что-то от людей, когда они вернутся на ваш сайт, вам нужно будет сгенерировать GUID для этого человека и сохранить его в файле cookie на его компьютере, а также сохранить данные, которые вы хотите запомнить о них, в базе данных, оценивая GUID. Когда пользователь посещает ваш сайт, Вы читаете GUID и получаете его данные.

Они могут, конечно, удалить файл cookie, над которым вы не имеете никакого контроля, они будут забыты. Вы должны помнить, что http является "апатридом", поэтому хранение состояния пользователей никогда не будет на 100% надежным.

Что касается вашего примера кода, то я считаю, что значение Persistent в этом классе относится только к экземпляру этого класса. Таким образом, если у вас есть словарь с 5 элементами и вы добавляете 6-й, то вместо добавления 6-го элемента в словарь происходит то, что словарь остается неизменным и вместо него возвращается новый словарь с 6 элементами. Полагаю, это не то, чего ты хочешь.