2011-02-27 99 views

回答

4

一旦你有擴展方法,它是一個簡單的使用它的事情(不要忘記把你定義的GetOrStore方法的靜態類放入作用域,方法是向包含它的命名空間添加using指令,否則你不會能夠看到GetOrStore<T>擴展方法):

IEnumerable<string> addresses = HttpRuntime 
    .Cache 
    .GetOrStore<IEnumerable<string>>(
     "addresses", 
     () => repository.GetAllAddresses().ToArray() 
); 

注意事項:

  • 我們使用的「地址」作爲緩存鍵,因此結果將此項下儲存。
  • 我們在IQueryable<string>上調用.ToArray(),以便熱切地獲取地址並將結果存儲到緩存中而不是查詢。