Первая проблема:Asp.net ядро, основные проблемы, я не понимаю
services.AddMemoryCache(); // in Startup config
public class AController
{
public AController(IMemoryCache cacheA) { }
}
public class BController
{
public BController(IMemoryCache cacheB) { }
}
проблема заключается в том, что cacheA такая же, как cacheB
я хотел бы иметь частный API (кластерные соединения) и публичный API (подвергается внешнему интерфейсу) как отделить их, сохраняя при этом все DI-шаблоны?
Вторая проблема;
я хочу иметь сервис, который запрашивает некоторые внешние веб-сервер через HTTP и его результаты будут сохраняться в этой службе, также хранится в БД поэтому мы первый запрос localCache затем запрос БД затем запросить внешний сервер
результаты этой службы будут использоваться в контроллерах и отправлены во внешний интерфейс
Как реализовать такую вещь со всеми моделями asp.netcore? кеш должен быть ОДНОМ (одноточечным), поэтому мы не откладываем запросы БД
? добавив такую услугу, как services.SCOPED <>, но затем, как сохранить его кэш же для каждого экземпляра (некоторые одноточечно DI? или статический экземпляр MemoryCache?) я понятия не имею, не проклятая идея не прося о помощи
в узле .js я бы сделал все это в течение нескольких минут, но Microsoft эй
Один взгляд на источник ответил бы на все ваши вопросы: https://github.com/aspnet/Caching/blob/efbbdc5e0a8c8a664ea34cd41220d084b6906f57/src/Microsoft.Extensions.Caching.Memory/MemoryCacheServiceCollectionExtensions.cs#L76-L86 – Tseng
LOL, это хорошая функция, если бы VS (определение Peek Definition - Alt F12) может наглядно показать вам источник – gdpm