Возможно, вы захотите использовать API-интерфейс кэша ASP.NET, который существует для выполнения той работы, которую вы описываете. Вы можете добавить любой объект (например, XmlDocument или DataSet) в коллекцию Cache и указать, как долго вы хотите, чтобы он находился там, например:
Cache.Insert("MyCacheKey", myObjectToCache, null, DateTime.Now.AddDays(1), null);
Тогда вы можете получить кешированные данные с помощью функции, подобной этой:
const string CACHE_KEY = "MyCacheKey";
private DataSet RecentlyAdded()
{
if(Cache[CACHE_KEY] == null)
Cache.Insert(CACHE_KEY, GetRecentlyAddedFromDatabase(), null, DateTime.Now.AddDays(1), null);
return Cache[CACHE_KEY];
}
API-интерфейс кэширования имеет множество других полезных функций, но это позволит выполнить то, что вы хотите, без необходимости развертывать собственное файловое решение.
Обратите внимание, что если ваше приложение завершает работу до окончания рабочего дня, кэш-память будет закрыта вместе с ним, и «недавно добавленный» запрос к базе данных будет выполняться снова при следующем запросе данных.
edit: изменен ключ кэша на строковую константу, поэтому его нужно указывать только один раз.