Сборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Значение свойства
Тип: Int32Кэширование выполняется только при использовании методов получения данных, таких как: GetData , GetTable , GetRow , ExecuteScalar (включая перегрузки).
Результаты выполнения запроса к базе данных методом ExecuteNonQuery (включая перегрузки) не выполняются.
Значение для свойства CacheDuration можно указать в файле конфигурации в параметре NeData:Sql:CacheDuration (для веб-приложений) или в параметре NeDataSqlCacheDuration (для приложений Windows), однако лучше этого не делать, поскольку тогда все запросы к базе данных будут выполняться с указанной продолжительностью кэширования результатов, что может привести к некоторым проблемам в работе вашего приложения (зависит от типа приложения).
Если кэш настроен неправильно или недоступен, то кэширование выполняться не будет.
WebCache может быть использован только в приложениях ASP .NET и не работает в потоках.
MemoryCache может неправильно работает в приложениях ASP .NET и предназначен только для использования в приложениях Windows.
В следующем примере выполняется запрос к базе данных методом GetTable . Результат выполнения запроса кэшируется на 3 600 секунд (1 час).
using (SqlClient client = new SqlClient()) { // кэширование результатов в файлом кэше на 1 час client.CacheDuration = 3600; // 60 секунд * 60 минут = 3 600 секунд = 1 час // формирование запроса client.CommandText = "SELECT * FROM forum_messages"; // выполнение запроса var table = client.GetTable(); // вывод результатов Console.WriteLine("Получено данных: {0}", table.Rows.Count); Console.WriteLine("Время выполнения запроса: {0}", client.LastQueryTime); Console.WriteLine("Результат получен из кэша: {0}", client.LastQueryResultsFromCache); }