使用Azure托管缓存获取大量时间和错误

时间:2014-07-21 16:49:31

标签: c# asp.net caching azure azure-caching

我有一个使用Azure网站托管的asp.net Web应用程序,该网站使用Azure托管缓存来检索和存储缓存对象。该应用程序工作正常,直到最近我们开始遇到超时和错误:

  

ErrorCode:SubStatus:连接已终止,   可能是由于服务器或网络问题或序列化对象大小   大于服务器上的MaxBufferSize。请求的结果是   未知..附加信息:客户端正在尝试   与服务器通信:   的net.tcp://foo.cache.windows.net:22233

  

ErrorCode:SubStatus:请求超时..   附加信息:客户端正在尝试与之通信   server:net.tcp://foo.cache.windows.net:22233

查看两个错误的堆栈跟踪,它们都指向cache.Get("key")行,所以我不确定为什么它会说serialized Object size is greater than MaxBufferSize。此外,查看缓存对象的监视器选项卡显示平均大小以字节为单位204 KB(最大215),这意味着它不会达到Azure允许的8 MB的MaxBufferSize。除非,这不是默认值。

代码非常简单:

DataCacheFactory cacheFactory = new DataCacheFactory();
myCache = cacheFactory.GetDefaultCache();
var retVal = myCache.Get("MyKey") as List<string>();
if (retVal == null)
{
  retVal = GetFromDB();
  myCache.Put("MyKey", retVal, TimeSpan.FromHours(1.0));
}

我在这里缺少什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

存在影响托管缓存服务的某些用户的问题。如需帮助,您可以直接联系Azure支持或缓存团队,电子邮件地址为azurecache@microsoft.com'。