0
我構建了一個web服務。該Web服務需要緩存數據。數據是對象列表。根據web方法中傳遞的參數,數據將被過濾並返回給客戶端。Webservice支持多線程?
public class UpdateService : WebService
{
public List<object> Get(...)
{
return Util.Filter(CachingData.Data, ...);
}
}
我需要緩存這些數據,每過1小時後必須刷新(續訂)。我構建了一個名爲CachingData的靜態類。在這個類中,我創建靜態線程計時器:
public static class CachingData
{
public static List<object> Data; // cached data
private static System.Threading.Timer tmrGetHSXData = new System.Threading.Timer(DoGethsxEOD, null, 0, 60*60*1000);
private static DoGethsxEOD()
{
//...
}
}
DoGethsxEOD是一個靜態方法將每個在1小時後可以稱爲刷新數據。但是,DoGethsxEOD只調用一次。線程無法正常工作。
我想在此Web服務上緩存數據。每隔1小時後,這些數據將被刷新。我爲此任務使用了線程計時器。但是,它不起作用。
我不知道webservice有使用線程的支持。請幫我解決這個問題,以及如何存檔我的目的。謝謝。
你可以舉個例子。如果Cache對象過期,如何刷新它。謝謝。 –
當緩存過期時,項目將不再存在於緩存中,並且它將返回空值。此時您可以刷新緩存。 您可以在您的「獲取邏輯」 –
緩存數據每1小時後總是新的。如何刷新它。謝謝。 –