【发布时间】:2011-12-02 02:42:43
【问题描述】:
我有两个不同但密切相关的 ASP.Net Web 应用程序,它们在某些页面上使用相同的数据。在这两个应用程序中,我都使用 ObjectDataSource 控件,启用 EnableCaching="true",并在两个应用程序中使用相同的 CacheKeyDependency 值。
我想这样当在一个应用程序中插入或删除新记录时,它会清除两个应用程序中的缓存。我一开始只是简单地使用 Page.Cache 清除缓存,但很快意识到它不会清除其他应用程序中的缓存。然后我为每个应用程序添加了一个 WCF 服务;每个服务都会清除它所在的应用程序中的缓存对象。除了它不会...
首先,我发现 System.Web.HttpContext 在 WCF 中始终为空。然后我尝试实例化一个 System.Web.Routing.RequestContext 对象,但它的 HttpContext 对象也始终为空。
这一切都归结为:如果我设置了一个 Page.Cache 对象,如果 WCF 服务与页面托管在同一个应用程序中,是否可以访问同一个缓存对象?
【问题讨论】: