Настройка System.Runtime.Caching в appSettings.json - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь настроить System.Runtime.Caching.MemoryCache в приложении Asp.NET Core 2.1, работающем на полной .NET Framework 4.7.

В другом приложении, не являющемся Asp.NET Core, я настраиваю это в Web.config, например:

<system.runtime.caching>
  <memoryCache>
    <namedCaches>
      <add name="default" cacheMemoryLimitMegabytes="0" physicalMemoryLimitPercentage="0" pollingInterval="00:02:00" />
    </namedCaches>
  </memoryCache>
</system.runtime.caching>

Однако в приложении Asp.NET Core 2.1 у меня есть только appsetting.json. Как настроить System.Runtime.Caching.MemoryCache в Asp.NET Core 2.1?

1 Ответ

0 голосов
/ 07 января 2019

Я предлагаю вам взглянуть на Кэш-память в ASP.NET Core , поскольку она, кажется, описывает именно то, что вам нужно.

Обновление

Вы должны попробовать использовать перегрузку AddMemoryCache , которая принимает лямбда / метод, используемый для настройки кэша (см. MemoryCacheOptions ), это может выглядеть примерно так:

services.AddMemoryCache(options => 
{ 
    SizeLimit = 1024 // Can be hardcoded or read from a custom configuration value
})

Обновление 2

Если вы хотите использовать старый пакет с ASP.Net Core , вы не сможете использовать appSettings.json для его настройки, так как .Net Core использует другой стек конфигурации.

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

Надеюсь, это поможет!

...