ASP.Net HttpContext Cache - почему я читаю Null, когда кто-то говорит ""? - PullRequest
0 голосов
/ 01 декабря 2009

У меня есть сотрудник, который написал следующую строку в методе загрузки страницы на странице aspx:

myDataSet = (DataSet)HttpContext.Current.Cache["dataset"];

При первом посещении страницы HttpContext.Current.Cache["dataset"] читает ноль. Когда он делает это, значение равно "" (string.Empty), и он получает исключение приведения.

Мы оба запускаем ASP.Net 2.0 на наших машинах разработки, он очистил кеш браузера и запустил iisreset, но эта штука все еще читает "" при первом обращении к странице. У кого-нибудь есть идеи о том, что мы можем проверить, чтобы объяснить это несоответствие?

Ответы [ 3 ]

1 голос
/ 09 декабря 2009

Попробуйте вместо этого сейчас, вы хотя бы избежите исключения:

myDataSet = HttpContext.Current.Cache["dataset"] as DataSet;
1 голос
/ 09 декабря 2009

Я бы искал ваш код и посмотрел, что на самом деле присваивает «набор данных» в кеш. Что-то, должно быть, помещает туда пустую строку. Обнаружение, которое может привести вас к некоторому другому коду, который объяснил бы другие результаты.

Без реальных примеров кода трудно устранить неполадки.

0 голосов
/ 09 декабря 2009

Возможно, вам следует попробовать использовать HttpRuntime.Cache вместо HttpContext.Current.Cache.

http://theengineroom.provoke.co.nz/archive/2007/04/27/caching-using-httpruntime-cache.aspx

Разница между HttpRuntime.Cache и HttpContext.Current.Cache?

...