2008-11-19 2 views
1

Меня просят изучить проблему, возникающую с перерывами на WebServer, который запускает приложение моей команды.Сбрасывать данные кэширования из IIS?

По существу, у нас есть веб-сервис, который выполняет поиск между кодами. Если у вас есть код типа A, вы можете использовать его для поиска соответствующего кода типа B. Периодически, когда память работает на низком уровне, когда вызывается этот веб-сервис, генерируется исключение нулевой ссылки. По сути, эта служба загружает файл поиска в кеш с зависимостью от файла, поэтому, если файл работает, кеш перезагружается новым файлом. Приоритет для объекта кэша устанавливается по умолчанию. Я предполагаю, что где-то в коде не проверяется, что объект кэша все еще существует, и когда память на сервере становится низкой, этот объект сбрасывается, вызывая ошибку. Я хотел бы иметь возможность воссоздать ошибку и проверить, прежде чем я начну копаться в этом коде.

Есть ли способ в диспетчере IIS (или из командной строки) заставить запущенное веб-приложение сбрасывать его в кеш? Я бы подумал, что это должно воссоздать условие и, следовательно, воссоздать ошибку. Не говоря уже о том, что ошибка детали должна приводить к правильному разделу кода.

Спасибо,

Стив Brouillard

ответ

0

Я нашел утилиту, которая может быть добавлена ​​в приложения ASP.NET, что позволит вам динамически управлять кешем как целые или отдельные объекты кеша. Благодаря .NET Rocks! и dnrtv.

Ссылка на инструмент, который я использовал. Это позволило мне очистить только конкретные объекты, о которых идет речь, «на лету», и доказать ошибку.

Спасибо всем за помощь. ASP Alliance Cache Manager.

Steve

0

Моя инстинктивная реакция будет установить WebMethod-х CacheDuration к нулю, а затем обратно к тому, что вы хотите на постоянной основе. Я не пробовал это, но я думаю, что это дамп кэша, а затем начнет его формирование снова ...

+0

Спасибо за ваш совет. Кажется, что это не работает во время процесса, но это, безусловно, стоит того. – 2008-11-19 20:37:25

Смежные вопросы