メインメニューを開く

MongoDB-ASP.NET-Session-State-Storeとは、MongoDBセッション情報を保持するASP.NETセッションプロバイダーである[1]

目次

概要編集

Redis関連のセッションプロバイダーを色々試みたがMonoでの動作が不安定だったので諦めてこちらを利用してみた。 Redisほどの速度は期待できないものの少し試した限りでは安定しているようである。 MongoDB冗長化関連の機能は特筆すべきものがあるのでもう少し検証してみようと思う。

インストール編集

NuGetから入れる。

Web.configにConnectionStringを設定する。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- 抜粋 -->
  <connectionStrings>
    <add name="MongoSessionServices" connectionString="mongodb://localhost"/>
  </connectionStrings>
  <!-- 抜粋 -->
</configuration>

Web.configにセッションプロバイダーを設定する。 ここで指定したDBは無ければ勝手に作られる模様。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- 抜粋 -->
  <system.web>
    <sessionState mode="Custom" customProvider="MongoSessionStateProvider">
      <providers>
        <add name="MongoSessionStateProvider"
             type="MongoSessionStateStore.MongoSessionStateStore"
             connectionStringName="MongoSessionServices"
             maxUpsertAttempts="220"
             msWaitingForAttempt="500"
             AutoCreateTTLIndex="true"
             WriteConcern="W1"
             Journal="false"
             BSONDefaultSerialize="true"
             databaseName="SessionState2"
             collectionName="Sessions2" />
      </providers>
    </sessionState>
  </system.web>
  <!-- 抜粋 -->
</configuration>

おわり

関連項目編集

参考文献編集