Velocity - кодовое имя технологии распределенного кэширования Microsoft AppFabric.Очень похоже на memcache, он используется для кэширования объектов на нескольких компьютерах.
Это не имеет никакого отношения к тому, как IIS обрабатывает запросы.Все запросы удовлетворяются IIS, AppFabric - это механизм хранения данных, а не обработки запросов.
В ответ на ваш второй вопрос;Вы можете использовать AppFabric для первой проверки данных.Если данные не существуют в кеше, вызовите базу данных для заполнения кеша, а затем верните данные.
var factory = DataCacheFactory();
var cache = factory.GetCache("AutoSuggest");
List<Region> regions = cache.Get("Regions") as List<Region>;
if (regions == null) {
regions = // Get regions from database.
cache.Add("Regions", regions);
}
return regions;
Проверка сначала кеша позволяет приложению получать более быстрый ответ, так как база данныхударить только по первому экземпляру (в идеале), и данные результата будут помещены обратно в кеш.
Вы можете обернуть это немного больше:
public T Get<T>(string cacheName, string keyName, Func<T> itemFactory)
where T : class
{
var cache = dataFactory.GetCache(cacheName);
T value = cache.Get(keyName) as T;
if (value == null) {
value = itemFactory();
cache.Add(keyName, value);
}
return value;
}
Таким образом, вы можете изменитьваш поиск вызывает что-то похожее на:
var regions = Get<List<Region>>("AutoSuggest", "Regions", () => GetRegions());