Используя EF core ncache провайдера, автоматически кэшировать и синхронизировать все таблицы в базе

Только этот образец работает без проблем:

var crop = new Rectangle(0, y, bitmap.Width, h);
var bmp = new Bitmap(bitmap.Width, h);
var tempfile = Application.StartupPath+"\\"+"TEMP"+"\\"+Path.GetRandomFileName();


using (var gr = Graphics.FromImage(bmp))
{
    try
    {
        var dest = new Rectangle(0, 0, bitmap.Width, h);
        gr.DrawImage(image,dest , crop, GraphicsUnit.Point);
        bmp.Save(tempfile,ImageFormat.Jpeg);
        bmp.Dispose();
    }
    catch (Exception)
    {


    }

}
0
задан ionescu victor 18 January 2019 в 15:17
поделиться

1 ответ

Вы можете использовать любой ORM для извлечения данных из базы данных. Как только данные извлекаются из базы данных, вы можете установить зависимость SQL от элемента, прежде чем он будет вставлен в кэш.

NCache предоставляет собственную реализацию зависимости SQL, независимую от инфраструктуры, используемой для извлечения содержимого базы данных (EF, NHibernate, ADO.NET и т. Д.). В этой функции NCache регистрирует команды SQL (запросы SELECT и хранимые процедуры SELECT) на сервере базы данных. Если какое-либо событие UPDATE или DELETE изменяет результирующий набор, который можно получить с помощью этих зарегистрированных команд SQL, SQL-сервер отправит уведомление NCache, в ответ удалив соответствующие данные кэша.

Следовательно, внутри блока using контекста db вы можете добавить содержимое, извлеченное из базы данных, в кэш с установленной зависимостью SQL NCache.

Чтобы обеспечить 100% обновление данных кеша в ответ на события UPDATE вместо полного удаления данных кеша, затронутых этим, это включает в себя интеграцию с функцией автоматической перезагрузки, которая использует возможности NCache для сквозного чтения в форме поставщики источников поддержки. В этом случае вы можете установить флаг повторной синхронизации для элемента кэша, чтобы указать, что NCache должен извлекать свежие данные в случае, если элемент должен быть удален зависимостью SQL. Для этого провайдер для сквозного чтения продолжит извлекать свежие данные из базу данных и заменить устаревшие данные кеша. Поставщики read-thru вместе с поставщиками write-thru составляют поставщиков источников поддержки NCache, которые позволяют NCache выполнять команды чтения и записи в базу данных от имени клиентов.

Дополнительную информацию о зависимости SQL можно найти по следующей ссылке:

http://www.alachisoft.com/resources/docs/ncache/prog-guide/sql-dependency.html.

Информацию о поставщиках источников поддержки NCache можно найти по следующей ссылке:

http://www.alachisoft.com/resources/docs/ncache/prog -руководство / данных источника provider.html

0
ответ дан Shoeb Lodhi 18 January 2019 в 15:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: