我想在包含char a[] = u8"My \u263B character";
cout << a;
的网络角色项目中使用System.Runtime.Caching.MemoryCache
。
有人可以告诉我们,我们是否可以在WCF Service
角色项目中使用System.Runtime.Caching.MemoryCache
吗?
如果是,请告诉我记忆和其他限制。
答案 0 :(得分:0)
是的,你可以。
您应该将对System.Runtime.Caching的引用添加到Web角色项目中,然后使用类似下面的代码(它几乎没有做任何事情,并且不是最佳实践)。
使用Azure模拟器在云端Web角色中使用ASP.NET MVC进行了尝试,它可以正常运行。
关于限制 - 您可以使用两个CacheMemoryLimit和PhysicalMemoryLimit属性来检索所需的值。它显示了以字节为单位的限制。我不知道Azure Cloud Services中的内存缓存是否存在超出这些限制的范围。
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 };
}