- Регистрация
- 27.03.2014
- Сообщения
- 137
- Благодарностей
- 53
- Баллы
- 28
Собственно, время от времени проявляется очень неприятный баг. Я записываю в контекст функцию, например:
И вызываю ее в любом действии:
Это упрощенный пример, функции более сложные. И в определенный момент(непонятно из-за чего) результат как будто кешируется где-то, т.е. функция возвращает одно и то же значение, а не выполняет нужные вычисления. Возможно, это происходит из-за исключения или какой-то ошибке при работе с сетью, но не уверен. Поймать этот момент и выяснить причину не получается, вероятность возникновения баги 1 к 1000. Но она точно есть, и если один раз закешировалась, то потом и 10 раз подряд выдаст старый результат.
Код:
project.Context["test"] = (Func<int>)(() => {
return new Random().Next(111, 999);
});
Код:
int Result = project.Context["test"]();