从一个ASP.NET网站刷新另一个ASP.NET网站的企业库缓存块数据

从一个ASP.NET网站刷新另一个ASP.NET网站的企业库缓存块数据,asp.net,web-applications,caching,enterprise-library,flush,Asp.net,Web Applications,Caching,Enterprise Library,Flush,我有两个ASP.NET网站使用同一个缓存管理器静态实例。第一个web站点从数据库获取数据,并使用前面提到的缓存管理器对象对其进行缓存 我的问题是,我无法使用同一个缓存管理器静态对象从第二个网站刷新此缓存数据。这样做有什么不对吗?有什么可能的解决办法?如有关于该主题的任何文件资料,将不胜感激 提前感谢您。您有两种选择: 创建缓存管理器的2个实例 将网站配置为使用不同的应用程序池 这里有一种方法 在站点2中创建一个可以通过www.Site2Domain.com/clearECache访问的方法 现在

我有两个ASP.NET网站使用同一个缓存管理器静态实例。第一个web站点从数据库获取数据,并使用前面提到的缓存管理器对象对其进行缓存

我的问题是,我无法使用同一个缓存管理器静态对象从第二个网站刷新此缓存数据。这样做有什么不对吗?有什么可能的解决办法?如有关于该主题的任何文件资料,将不胜感激

提前感谢您。

您有两种选择:

创建缓存管理器的2个实例 将网站配置为使用不同的应用程序池
这里有一种方法

在站点2中创建一个可以通过www.Site2Domain.com/clearECache访问的方法

现在从站点1向站点1 URL执行一个HttpRequest/WebRequest

public void ClearECache()
        {
            try
            {
                CacheManagerSettings conf = (CacheManagerSettings)ConfigurationSourceFactory.Create()
                    .GetSection(CacheManagerSettings.SectionName);

                conf.CacheManagers.ForEach(delegate(CacheManagerDataBase cache)
                {
                    CacheFactory.GetCacheManager(cache.Name).Flush();
                });
            }
            catch (Exception ex)
            {
                throw

            }

        }