C# 使用Azure托管缓存获取大量超时和错误

C# 使用Azure托管缓存获取大量超时和错误,c#,asp.net,caching,azure,azure-caching,C#,Asp.net,Caching,Azure,Azure Caching,我有一个使用Azure网站托管的asp.net web应用程序,它使用Azure托管缓存检索和存储缓存对象。直到最近,当我们开始遇到超时和错误时,应用程序才正常工作: 错误代码:子状态:连接已终止, 可能是由于服务器或网络问题或序列化对象大小 大于服务器上的MaxBufferSize。请求的结果是 未知。。附加信息:客户端正在尝试 与服务器通信: 净。tcp://foo.cache.windows.net:22233. 及 错误代码:子状态:请求超时。。 附加信息:客户端正在尝试与 服务器:ne

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

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

错误代码:子状态:请求超时。。 附加信息:客户端正在尝试与 服务器:net。tcp://foo.cache.windows.net:22233

查看这两个错误的堆栈跟踪,它们都指向
cache.Get(“key”)
行,所以我不确定为什么它说
序列化对象大小大于MaxBufferSize
。此外,查看Caching对象的monitor选项卡会显示平均大小(字节数为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));
}
DataCacheFactory cacheFactory=newdatacachefactory();
myCache=cacheFactory.GetDefaultCache();
var retVal=myCache.Get(“MyKey”)as List();
if(retVal==null)
{
retVal=GetFromDB();
myCache.Put(“MyKey”,retVal,TimeSpan.FromHours(1.0));
}

我错过了什么?如何对此进行故障排除?

有一个问题影响到托管缓存服务的某些用户。要获得帮助,您可以直接通过以下地址联系Azure支持或缓存团队:azurecache@microsoft.com“.

我刚刚在MSDN论坛上看到一条关于托管缓存服务问题的帖子。虽然Azure状态站点()显示服务正常,但我在转到历史记录页面时发现了一个问题:。这可能是你问题的原因吗?@Vogel612-typo。纠正it@GauravMantri可以是。我如何知道我是否受到影响?我建议您与Azure支持人员联系,看看此服务是否仍然存在问题。谢谢您的电子邮件!