System.Web.Caching.Cache, возвращающий ноль для ключа в кеше - PullRequest
0 голосов
/ 21 июня 2010

У меня есть некоторый код (на стороне клиента), который пытается кэшировать ответы от веб-службы.Я сохраняю ответы в объекте System.Web.Caching.Cache, полученном от System.Web.HttpRuntime.

Я делаю вызов один раз, затем повторяю его и получаю вывод на консоль, сообщающий, что он загружен из кэша.Но я никогда не получаю вывод консоли.Я запустил его в отладчике и установил точку останова в Get и Cache, так как запись и ключ внутри кеша совпадают с ключом, который я передаю в get, но он все равно возвращает ноль ?????

в основном код выглядит следующим образом.


public object MakeRequest(string uri)
{
(break point)object retList = Querier.Cache.Get(uri);

            if (retList != null)
            {
                Console.WriteLine("Loaded from Cache");

            }
            retList = Querier.MakeRequest(uri);
            Querier.Chache[uri] = retList;
            return retList;
}

Querier - это объект, который делает мой http-запрос и десериализует объект, а затем возвращает его.

У любого есть представление о том, почемукеш возвращает ноль, а не объект хранится в нем?в этом случае я в растерянности, потому что отладчик показывает, что и внутренний ключ, и тот, который я передаю, являются одной и той же строкой (хотя и не сформированы в одном месте) Заранее спасибо

1 Ответ

0 голосов
/ 22 июня 2010

Получается, что я не выглядел достаточно близко к двум строкам, и одна была немного отлична от другой, они оба перешли на одну и ту же веб-страницу, но не были равны по методу сравнения строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...