【问题标题】:How to configure local DynamoDB as ASP.NET session state provider如何将本地 DynamoDB 配置为 ASP.NET 会话状态提供程序
【发布时间】:2016-05-20 13:33:05
【问题描述】:

我的任务是编写使用 Amazon 的 DynamoDB 服务存储 ASP.NET 会话状态的概念证明。我从here 下载了亚马逊的本地 DynamoDB 服务器,并成功运行。我创建了一个测试 MVC 网站,并添加了以下 NuGet 包。

<package id="AWS.SessionProvider" version="3.1.0.2" targetFramework="net461" />
<package id="AWSSDK.Core" version="3.1.4.3" targetFramework="net461" />
<package id="AWSSDK.DynamoDBv2" version="3.1.4.0" targetFramework="net461" />

我将以下内容添加到web.config

    <sessionState mode="Custom" customProvider="DynamoDB">
        <providers>
            <add name="DynamoDB" type="Amazon.SessionProvider.DynamoDBSessionStateStore" AWSProfileName="" Region="" />
        </providers>
    </sessionState>

现在我被困住了。 Amazon 的本地 DynamoDB 文档只讨论了定义服务 URL,而不是配置文件或区域设置。亚马逊的documentation for the session provider 只谈论使用具有真实凭证的真实在线 DynamoDB 服务。我可以在网上找到的关于设置服务 URL 的唯一提及假设您正在使用代码创建 DynamoDB 客户端以进行任意数据访问。我似乎找不到这三个概念之间的任何重叠。谁能告诉我如何将本地 DynamoDB 配置为仅作为会话提供程序而不引用真正的 Amazon 凭证或区域?

【问题讨论】:

    标签: asp.net-mvc amazon-dynamodb


    【解决方案1】:

    设置属性ServiceUrl="http://localhost:8000/"

        <sessionState timeout="20" mode="Custom" customProvider="DynamoDBSessionStoreProvider">
    <providers>
      <add
        name="DynamoDBSessionStoreProvider"
        type="Amazon.SessionProvider.DynamoDBSessionStateStore"
        AWSProfileName="default"
        AWSAccessKey="must be real"
        AWSSecretKey="must be real values"
        Region="eu-west-1"
        ServiceUrl="http://localhost:8000/" />
    </providers>
    </sessionState>
    

    来源:

    https://github.com/aws/aws-dotnet-session-provider/blob/master/src/DynamoDBSessionStateStore.cs#L87

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2013-01-07
      • 2013-05-27
      • 2011-06-23
      相关资源
      最近更新 更多