Привет Я пытаюсь использовать Dynacache в моем решении для кэширования данных, которые я возвращаю из базы данных, поэтому, когда я использую сетку Telerik для фильтрации страницы данных и т.д., Мне не нужно возвращаться в БД, чтобы каждый раз получать данные.
Пример на странице DynaCache показывает, что он используется с Ninject DI, как показано ниже:
kernel.Bind<IDynaCacheService>().To<MemoryCacheService>();
kernel.Bind<ITestClass>().To(Cacheable.CreateType<TestClass>());
Я использую SimpleInjector в качестве контейнера DI. Кто-нибудь использовал Dynacache с SimpleInjector, так как мне трудно получить правильный синтаксис для регистрации Dynacache с помощью SimpleInjector так же, как показано в Ninject
Эквивалент простого инжектора:
container.Register<IDynaCacheService, MemoryCacheService>();
container.Register(typeof(ITestClass), Cacheable.CreateType<TestClass>());
Однако, поскольку MemoryCacheService
- это тип структуры, вам лучше (как объяснено здесь) сделать регистрацию с использованием делегата фабрики:
container.Register<IDynaCacheService>(() => new MemoryCacheService());
container.Register(typeof(ITestClass), Cacheable.CreateType<TestClass>());