首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF缓存与Page.Cache

WCF缓存与Page.Cache
EN

Stack Overflow用户
提问于 2011-12-01 23:38:48
回答 2查看 780关注 0票数 3

我有两个不同但紧密相关的ASP.Net web应用程序,它们在某些页面上使用相同的数据。在这两个应用程序中,我使用ObjectDataSource控件,将EnableCaching=设置为“true”,并在两个应用程序中使用相同的CacheKeyDependency值。

我想让它在一个应用程序中插入或删除新记录时,清除两个应用程序中的缓存。我开始只是使用Page.Cache清除缓存,但很快就意识到它不会清除另一个应用程序中的缓存。然后,我向每个应用程序添加了一个WCF服务;每个服务都会清除承载它的应用程序中的缓存对象。除了它没有..。

首先,我发现在WCF中System.Web.HttpContext总是空的。然后,我尝试实例化一个System.Web.Routing.RequestContext对象,但它的HttpContext对象也始终为空。

这一切都归结为:如果我设置了一个Page.Cache对象,如果服务与页面驻留在相同应用程序中,那么该服务是否可以访问相同的缓存对象?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-02 00:23:51

是的,您需要为WCF服务启用ASP.NET集成。这涉及到在配置中为serviveHostingEnvironment元素设置aspNetCompatibilityEnabled属性,以及将AspNetCompatibilityRequirementAttribute属性添加到您的服务类以表明您支持它。

有关此主题的更多信息,请访问here on MSDN.

票数 3
EN

Stack Overflow用户

发布于 2011-12-02 00:15:38

在两个应用程序中使用缓存的主要挑战是,缓存可以存储在不同的机器上,或者如果它们在同一台机器上,则可以存储在不同的应用程序池中。

可以这样做的一种方法是允许两个应用程序使用相同的缓存。进程耗尽的分布式缓存的一种解决方案是Appfabric caching

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8343999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档