0

我使用AmazonWebServices中的DynamoDB运行ASP.NET webservice以进行sessionstate处理。DynamoDB会话状态提供程序会向应用程序抛出错误

但是今天我得到了大量的异常冒泡,直到错误的应用程序级别。是否有其他人遇到这些错误。这周我也有这种行为,它持续了大约1-2小时,然后就离开了。

我正是用它作为这里描述: http://docs.aws.amazon.com/AWSSdkDocsNET/latest/DeveloperGuide/net-dg-dynamodb-session.html

我使用的版本2.3.0.1的AWS的sessionState提供商(从AWS SDK)

这是堆栈跟踪:

System.Net.WebException: The remote server returned an error: (400) Bad Request. 
at System.Net.HttpWebRequest.GetResponse() 
at Amazon.Runtime.Internal.HttpRequest.GetResponse() 

任何想法?

编辑:从Web.config文件,请 适合部分

<appSettings>  
    <add key="AWSAccessKey" value="XXXXXXXXXXXX"/> 
    <add key="AWSSecretKey" value="XXXXXXXXXXXX"/>   
</appSettings> 

<compilation> 
    <assemblies> 
    <add assembly="AWS.SessionProvider, Version=2.3.0.1, Culture=neutral, PublicKeyToken=9f476d3089b52be3" /> 
    <add assembly="AWSSDK, Version=2.3.0.1, Culture=neutral, PublicKeyToken=9f476d3089b52be3" /> 
    </assemblies> 
</compilation> 

<system.web> 
    <sessionState timeout="20" mode="Custom" customProvider="DynamoDBSessionStoreProvider"> 
    <providers> 
     <add name="DynamoDBSessionStoreProvider" type="Amazon.SessionProvider.DynamoDBSessionStateStore" Region="eu-west-1" /> 
    </providers> 
    </sessionState> 
</system.web> 

EDIT2: 我确实看到了很多在同一时间appering的错误开始节流的请求,甚至你我不似乎是甚至接近规定的吞吐量。然而,在我看到ElasticLoadBalancer监控流量略有下降的情况下(如预期在营业日结束时)。所以它不觉得我得到更多的命中,因此得到扼杀请求。

的Screendump dynamodb监测 http://1drv.ms/1vU7BzO

+0

你的问题应该包括更多细节让我们来帮助你。例如,你能给我们提供一个代码示例吗?你是如何配置你的访问密钥,密钥的? etc .. – 2014-12-05 16:12:41

回答

0

我的猜测是以下中的一个,因为它似乎它工作的大部分时间,偶尔有问题,再没有你做任何事情恢复:

  • 当您设置 数据库时,您超出了您设置的费率请求 - 这将抛出400错误(这是我的第一次猜测)
  • 请确保您的IIS上的时间与AWS同步;这可能会导致签名问题
  • 请确保您没有试图超过单个项目的最大大小64KB。
+0

我已经添加了一些来自dynamodb的监控转储,我看到很多受限制的请求,但是在错误期间网站的传入流量不会更高,所以我不明白所有这些节流请求的来源。 (我的流量大约是每5分钟2000次点击,但是我有> 3000个节流请求,并且很多流量不受影响) – DavKa 2014-12-05 16:49:46

相关问题