Кеширование данных в SQL CLR функции

241
28 мая 2017, 19:01

Допустим, есть CLR функция, которая имеет статический словарь, где сохраняется некоторый кеш.

Наблюдая с кешем, я заметил, что он живет не в рамках выполнения запроса, а вообще глобально => другие запросы из других сессий могут с ним работать.

На мой взгляд, актуализировать такой кеш очень тяжело и опасно, так как весь сервер может с ним работать=> нельзя найти подходящий момент для его актуализации.

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

Можно ли добиться того, что бы каждый запрос имел собственных кеш?

Коротко о моей функции

Моя функция принимает на вход некоторый веб ресурс и парсит его путь. Затем, получает название сервера и его IP и позже добавляет эти данные в кеш, который представлен в виде словаря с конкуренцией. При повторной встречи этого же ресурса, он берется из кеша, а вычисляется. Если ресурса не существует, то выводятся спец. данные.

А теперь представим ситуацию:

Выполняется запрос и кеширует данные-все хорошо.

Затем какой-то ресурс перестает существовать.

Запускаем новый запрос и ресурс берется из кеша, как валидный, что неправильно.

Хотелось бы иметь актуальность кеша в момент запуска и изолированный от других запросов.

READ ALSO
Как обрезать Shapes по PathFigure?

Как обрезать Shapes по PathFigure?

Здравствуйте! Не получается каким-либо образом обрезать Shapes элемент по контуру PathFigureПодскажите пожалуйста, куда глубже копать

274
Запуск приложения WinForm с параметрами из cmd

Запуск приложения WinForm с параметрами из cmd

Всем привет как узнать что приложение было запущено с определенным параметром из cmd? Есть определенный параметр "Show Version" и при запуске cmd > testexe...

387