[英]Is there any way to clear cache from server farm?
我已经在一个应用程序中实现了OutputCache,并且工作正常,但是由于我将该位置指定为服务器,并且这些应用程序在服务器场(2台服务器)中运行,因此当我清除缓存时,它一次只能从一台服务器清除。 我曾考虑过指定服务器位置(硬代码),以便将缓存存储在一个位置,并且在需要时可以轻松清除。 因此,有什么方法可以硬编码OutputCache中location属性的服务器名称吗? 还是从webconfig文件?
在webconfig中声明
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache10Minutes"
duration="300"
location="Server"
varyByParam="none"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
相关页面中的定义(页面标题)
<%@ OutputCache CacheProfile="Cache10Minutes" Duration="300" Location="Server" VaryByParam="none"%>
要清除按钮上的缓存,请单击
HttpRuntime.UnloadAppDomain()
或者如何在客户端更新时从数据库创建触发器。 可以从两个服务器清除缓存吗? 如果我的想法错误或不够清晰,请纠正我,我很困惑。 请指教。
据我所知,输出缓存仅针对每个服务器。 但是,您可以实现自己的OutputCacheProvider
并实现自己的缓存机制: OutputCacheProvider类,MSDN
或将分布式缓存与AppFabric一起使用: 如何:为ASP.NET配置AppFabric输出缓存提供程序 。 请注意,尽管微软明年将停止对Windows Server的AppFabric的支持Microsoft Windows Server的AppFabric 1.1的支持将在2016年4月2日终止
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.