2016-04-19 3 views

Antwort

0

Ja, Sie können.

Sie sollten den Verweis auf System.Runtime.Caching zum Webrollen-Projekt hinzufügen, dann verwenden Sie etwas wie den folgenden Code (es tut fast nichts und ist sicherlich keine Best Practice).

Probieren Sie es einfach mit ASP.NET MVC in der Cloud Web Role mit dem Azure Emulator und es funktioniert.

In Bezug auf Grenzwerte gibt es zwei Eigenschaften CacheMemoryLimit und PhysicalMemoryLimit, die Sie zum Abrufen der erforderlichen Werte verwenden können. Es zeigt das Limit in Bytes an. Ich weiß nicht, ob es hinsichtlich des speicherinternen Cache in Azure Cloud Services noch weitere Einschränkungen gibt.

private static object _lock = new Object(); 
    private static MemoryCache _cache = new MemoryCache("ThisIsMyCache"); 

    public static object GetItem(string key) 
    { 
     lock (_lock) 
     { 
      var item = _cache.Get(key); 
      if (item == null) 
      { 
       item = InitiaizeItem(key); 
       _cache.Set(key, item, new CacheItemPolicy()); 
      } 
      return item; 
     } 
    } 

    private static object InitiaizeItem(string key) 
    {    
     return new { Value = key }; 
    } 
Verwandte Themen