[英]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.