我在一個項目中工作,我們正在構建一個Web API層以供不同類型的客戶端使用。ASP.NET Web API緩存
我的架構是這樣的(客戶端)<織網API < - 服務層< -repository < - 數據儲存
我需要根據用戶身份的Web API認證 或可能有些數據緩存從web API請求的過濾器
構建此類緩存的最佳方法是什麼?
我在一個項目中工作,我們正在構建一個Web API層以供不同類型的客戶端使用。ASP.NET Web API緩存
我的架構是這樣的(客戶端)<織網API < - 服務層< -repository < - 數據儲存
我需要根據用戶身份的Web API認證 或可能有些數據緩存從web API請求的過濾器
構建此類緩存的最佳方法是什麼?
它不是很清楚你想達到什麼...如果你可以改善你的問題,並添加更多的細節。
同時,如果要緩存取決於已驗證用戶的數據,也許可以使用Session對象(如果它是一個簡單的場景)。 如果它依賴於過濾器,則可以使用無數緩存提供程序(請參見下文),並使用過濾器作爲緩存鍵。
還有Cache對象和更高級的解決方案。如果你使用NHibernate,那麼數據實體幾乎可以緩存盒子。它非常依賴於您的實施和具體要求。
閱讀this aritcle瞭解有關可能解決方案的更多詳細信息。
您可以在服務層實現緩存(使用簡單的內存緩存或redis),當然您需要將用戶的身份傳遞給服務層。 如果您不想將身份傳遞給服務層,則需要使用另一個緩存層(在Web API和服務層之間)。