SqlClient CacheType - свойствоNemiro.Data.dll
Метод кэширования данных. Значение по умолчанию Auto, если иное не указано в параметре NeData:Sql:CacheType файла конфигурации.

Пространство имён: Nemiro.Data.Sql
Сборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис

public CachingType CacheType { get; set; }

Значение свойства

Тип: CachingType
Заметки

Не рекомендуется использовать значение Auto, поскольку на автоматическое определение типа кэширования может потребоваться на пару наносекунд больше, чем если метод кэширования будет указан явно.

Как правило, метод кэширования указывается один раз в файле конфигурации, в параметре NeData:Sql:CacheType (для веб-приложений) или в параметре NeDataSqlCacheType (для приложений Windows).

Примеры

Ниже показан фрагмент файла web.config веб-сайта, в котором указывается метод кэширования, а также дополнительные параметры кэширования данных.

<appSettings> 
  <clear /> 
  <!--Метод кэширования данных--> 
  <add key="NeData:Sql:CacheType" value="File" /> 
  <!--Путь к файловому кэшу--> 
  <add key="NeData:Sql:CachePath" value="C:\Cache\MyApplication" /> 
  <!--Объем вспомогательного кэша (Кб)--> 
  <add key="NeData:Sql:CacheBufferSize" value="10240" /> 
</appSettings>

В следующем примере устанавливается метод кэширования программно.

using (SqlClient client = new SqlClient())
{
  // кэширование результатов в файлом кэше на 1 час
  client.CacheDuration = 3600; // 60 секунд * 60 минут = 3 600 секунд = 1 час
  client.CacheType = CachingType.File;
  // формирование запроса
  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);
}
При первом запуске программы, результат может быть следующим:
--------------------------------------------------------------
Получено данных: 100
Время выполнения запроса: 00:00:03
Результат получен из кэша: False
--------------------------------------------------------------

При повторном запуске программы, результат может быть следующим:
--------------------------------------------------------------
Получено данных: 100
Время выполнения запроса: 00:00:00
Результат получен из кэша: True
--------------------------------------------------------------
См. также