В промежуточном кеше памяти для asp. net ядра - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу, чтобы мое ядро ​​WEB ASP. NET кэшировало ответы для получения глаголов в ограниченном API.

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

Я хотел бы добавить в мой Configure при запуске что-то вроде этого:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        //...
        app.UseAuthentication();
        app.UseInMemoryCache(); // it's the kind of code I would like to add
        app.UseMvc(config =>
        {
            config.MapODataServiceRoute("odata", "odata", EdmModel.GetEdmModel());
            config.Count().Filter().OrderBy().Expand().Select().MaxTop(null);
            config.EnableDependencyInjection();
        });
    }

Итак, если для этого пользователя и URL-адреса в памяти есть кэш, это гипотетическое промежуточное ПО добавит его в ответ и затем закроет запрос, не вызывая next (), и затем, мой код контроллера не будет запущен.

Что я хочу:

  1. Библиотека, которая реализует такое поведение
  2. Библиотека, которая будет уважать аутентификацию приложения.
  3. Библиотека, которая будет учитывать параметры запроса OData (я думаю, если этот гипотетический кэш просто сохраняет в хеш-таблице пользователя и URL с параметрами OData, это не должно быть проблемой)
  4. Чтобы узнать, какое место в списке промежуточного программного обеспечения нужно разместить для этого промежуточного программного обеспечения.

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

Мы знаем о возможных проблемах с памятью, которые это может вызвать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...