我在mvc5中有2個web應用程序,webapp1,webapp2。 通過Autofac,我註冊這個類:在asp.net mvc中使用Autofac共享單個實例mvc
//cache managers
builder.RegisterType<MemoryCacheManager>().As<ICacheManager().Named<ICacheManager>("snt_cache_static").SingleInstance();
builder.RegisterType<SettingService>().As<ISettingService>().WithParameter(ResolvedParameter.ForNamed<ICacheManager>("snt_cache_static")).InstancePerLifetimeScope();
builder.RegisterType<TestController>()
.WithParameter(ResolvedParameter.ForNamed<ICacheManager>("snt_cache_static"));
當我修改並保存到數據庫webapp2的價值,我清除緩存,如果我用比較新的值存儲在緩存中,OK,對應,如一旦保存就從chache中刪除。
但是,如果我通過webapp1, 比較新值和存儲在緩存中,它仍然保存舊值。
WebApp1的緩存應該對應於webapp2的,因爲閱讀這兩個網站我使用參數「_settingService」或「_cacheManager」由Autofac在控制器通過緩存:
public TestController(
ISettingService settingService,
ICacheManager cacheManager
)
{
this._settingService = settingService;
this._cacheManager = cacheManager;
}
我的問題是:我如何在兩個應用程序中共享緩存?