![](/img/trans.png)
[英]How can we clear the server side cache in a button click in an asp.net application?
[英]How to clear the cache of an asp.net application from another asp.net application on the same server?
有一個奇怪的問題。 開始:
我有兩個ASP.NET應用程序:一個Web應用程序和一個Web服務應用程序。
通過網絡服務到達的信息會影響網絡應用所使用的數據庫中的數據。
數據的一個特定位控制下拉菜單中的項-當應用中的數據發生更改時,它可以調用:
HttpContext.Current.Cache.Remove
但是我現在需要清除Web服務中的緩存,因為我可以接收更新該信息的消息。
有人可以推薦這樣做的方法嗎?
緩存失效可能很難。 我不由自主地想到了3種復雜程度不同的解決方案,這些解決方案可能對您不起作用。
首先,您可以為該Web應用程序編寫Web服務,該Web服務應用程序調用該Web服務以使緩存無效。 這可能是最難的。
其次,您可以讓Web服務應用程序在數據庫中寫入一個“臟”標志,Web應用程序可以在呈現下拉菜單之前對其進行檢查。 這是我要走的路。
第三,您可以簡單地停止緩存該特定數據。
您可能有一個Web方法,其唯一目的是清除緩存。
var webRequest = HttpWebRequest.Create(clearCacheURL);
var webResponse = webRequest.GetResponse();
// receive the response and return it as function result
var sr = new System.IO.StreamReader(webResponse.GetResponseStream());
var result = sr.ReadToEnd();
實現具有過期時間的緩存。
Cache.Insert(“ DSN”,connectionString,null,DateTime.Now.AddMinutes(2),Cache.NoSlidingExpiration);
您可以嘗試SQL依賴關系。 您預訂的表有任何更改時,它將觸發一個事件。
https://www.codeproject.com/Articles/12335/Using-SqlDependency-for-data-change-events
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.