Как отключить кеш для разработки только в ASP.NET Core? - PullRequest
0 голосов
/ 05 апреля 2019

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

Я устанавливаю кеш при запуске:

services.AddMemoryCache();

Я хочу отключить кеш в шаблонах, которые используют тег <cache>:

<cache expires-after="@TimeSpan.FromSeconds(3600)">

1 Ответ

0 голосов
/ 05 апреля 2019

Вы можете просто вставить IHostingEnvironment в конструктор запуска вашего Startup.cs

Like So

      private readonly IHostingEnvironment _environment;

       public Startup(IConfiguration configuration,IHostingEnvironment environment)
       {
        _environment = environment;
        Configuration = configuration;
       }

Затем вы можете использовать приватный IHostingEnvironment в вашем методе configures services.

public void ConfigureServices(IServiceCollection services) 
{
 if(!_environment.IsDevelopment())
    services.AddMemoryCache();
}

РЕДАКТИРОВАТЬ:

После перечитывания вопроса теги кеша также должны быть отключены.Я бы предложил добавить флаг внутри вашего appsettings.devlopment.json, который называется "PageCachingEnabled": "false".

. В представлении я бы затем ввел конфигурацию следующим образом:

@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration
<cache enabled=@Boolean.Parse(Configuration["PageCachingEnabled"]) expires-after="@TimeSpan.FromSeconds(3600)">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...