Вместо того, чтобы делать это таким образом (перезапускать пул), почему бы не использовать зависимость кэша на основе файла? есть пример того, как это сделать здесь с помощью XML-файла. Таким образом, приложение больше не перерабатывается.
XmlDocument urls = new XmlDocument();
urls.Load(Server.MapPath("pathetourlfile.xml"));
CacheDependancy dependancy = new CacheDependency(Server.MapPath("pathetourlfile.xml"))
Cache.Insert("URLS", urls, dependency)