2
我讀過的所有示例都將OutputCache應用於Controller操作方法。但現在我有一個庫方法,它檢索活動目錄users.so我想緩存此模型類,如:將OutputCache應用於存儲庫模型類是不好的做法
[OutputCache(CacheProfile = "long", Location = OutputCacheLocation.Server, VaryByParam = "term")]
public List<DomainContext> GetADUsers(string term)
{
List<DomainContext> results = new List<DomainContext>();
using (var context = new PrincipalContext(ContextType.Domain, "WIN-SPDEV"))
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
var searchResults = searcher.FindAll();
併爲實現這個我必須包括我的倉庫模型類中的以下內容: -
using System.Web.Mvc;
using System.Web.UI;
所以這是錯誤的或者是一個不好的做法,增加緩存設置&包括`System.web.mvc +的System.Web.UI,insdie存儲庫模型類?
不知道它是否會工作,因爲AD用戶現在快速檢索。以及爲什麼在模型類中使用輸出緩存是一種糟糕的做法? –
這很糟糕,因爲您將模型與ASP.NET綁定在一起,並且它不起作用,因爲我已經在我的回答中解釋了OutputCache屬性只對控制器操作有意義。如果你把它放在其他課上,它完全沒有任何作用。 –