Полный физический путь к каталогу хранения файлов кэша, используется только если свойство
CacheType имеет значение
File.
Пространство имён: Nemiro.Data.SqlСборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
public string CachePath { get; set; }
public string CachePath { get; set; }
Public Property CachePath As String
Get
Set
Public Property CachePath As String
Get
Set
Значение свойства
Тип:
StringКак правило, параметры кэширования указывается один раз в файле конфигурации. Путь к файловому кэшу устанавливается в параметре NeData:Sql:CachePath (для веб-приложений) или в параметре NeDataSqlCachePath (для приложений Windows).
<appSettings>
<clear />
<add key="NeData:Sql:CacheType" value="File" />
<add key="NeData:Sql:CachePath" value="C:\cache\MyApplication" />
</appSettings>
<appSettings>
<clear />
<!--Метод кэширования данных-->
<add key="NeData:Sql:CacheType" value="File" />
<!--Каталог хранения файлов кэша-->
<add key="NeData:Sql:CachePath" value="C:\cache\MyApplication" />
</appSettings>
Если CacheType имеет значение File и свойство CachePath не указано,
то по умолчанию файлы кэша будут храниться в подкаталоге cache корневого каталога приложения, если конечно путь отсутствует
в файле конфигурации в параметре NeData:Sql:CachePath (NeDataSqlCachePath).
Если указанный каталог не существует, он будет создан автоматически.
При использовании файлового кэша в проектах ASP .NET, убедитесь, что приложение и пользователь IIS имеют доступ на запись и изменение содержимого каталога CachePath.
В следующем примере при работе с данными используется файловый кэш и отдельно указывается путь к хранилищу файлов кэша.
using (SqlClient client = new SqlClient())
{
client.CacheDuration = 1200;
client.CacheType = CachingType.File;
client.CachePath = @"C:\cache\MyApplication";
client.CommandText = "SELECT * FROM users";
var table = client.GetTable();
Console.WriteLine("Получено данных: {0}", table.Rows.Count);
Console.WriteLine("Время выполнения запроса: {0}", client.LastQueryTime);
Console.WriteLine("Результат получен из кэша: {0}", client.LastQueryResultsFromCache);
}
using (SqlClient client = new SqlClient())
{
// кэширование результатов в файлом кэше на 20 минут
client.CacheDuration = 1200; // 20 минут * 60 секунд = 1 200 секунд
client.CacheType = CachingType.File;
// путь к хранилищу файлов кэша
client.CachePath = @"C:\cache\MyApplication";
// формирование запроса
client.CommandText = "SELECT * FROM users";
// выполнение запроса
var table = client.GetTable();
// вывод результатов
Console.WriteLine("Получено данных: {0}", table.Rows.Count);
Console.WriteLine("Время выполнения запроса: {0}", client.LastQueryTime);
Console.WriteLine("Результат получен из кэша: {0}", client.LastQueryResultsFromCache);
}
Using client As New SqlClient()
client.CacheDuration = 1200
client.CacheType = CachingType.File
client.CachePath = "C:\cache\MyApplication"
client.CommandText = "SELECT * FROM users"
Dim table As DataTable = client.GetTable()
Console.WriteLine("Получено данных: {0}", table.Rows.Count)
Console.WriteLine("Время выполнения запроса: {0}", client.LastQueryTime)
Console.WriteLine("Результат получен из кэша: {0}", client.LastQueryResultsFromCache)
End Using
Using client As New SqlClient()
' кэширование результатов в файлом кэше на 20 минут
client.CacheDuration = 1200 ' 20 минут * 60 секунд = 1 200 секунд
client.CacheType = CachingType.File
' путь к хранилищу файлов кэша
client.CachePath = "C:\cache\MyApplication"
' формирование запроса
client.CommandText = "SELECT * FROM users"
' выполнение запроса
Dim table As DataTable = client.GetTable()
' вывод результатов
Console.WriteLine("Получено данных: {0}", table.Rows.Count)
Console.WriteLine("Время выполнения запроса: {0}", client.LastQueryTime)
Console.WriteLine("Результат получен из кэша: {0}", client.LastQueryResultsFromCache)
End Using