MongoDB C#ドライバ 1.8によってアービターとの接続が過剰に発生する


説明

Sitecore XPのバージョン7.5 Initial release~バージョン8.0 Update-4では、Mongo C#ドライバ バージョン1.8が使用されています。このドライバのバージョンでは、開いているxDBデータベースに過剰な接続が発生したり、パフォーマンスが低下したりする恐れがあります。

註:Sitecore XPバージョン7.5 Initial release ~バージョン8.0 Update-4とMongoDBバージョン2.6の併用については、以下の記事を参照してください:
MongoDB 2.6のSitecore XP 7.5および8.0との互換性の問題

解決策

この問題を解決するには:

  1. Mongo C# ドライバ1.10を含んだアーカイブをダウンロードします。
  2. Mongo C# ドライバ1.10のファイルをすべてのSitecore XPインスタンス/binフォルダに解凍します。
  3. アセンブリのリダイレクトをすべてのSitecore XPインスタンスのWeb.configファイルに設定します。なお、完全なバージョン番号を指定する必要があることに注意してください:
    <configuration>
    <runtime>
    <assemblyBinding>
    ...
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Bson" publicKeyToken="f686731cfb9cc103" culture="Neutral" /> 
    <bindingRedirect oldVersion="1.8.3.9" newVersion="1.10.0.62" /> 
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="MongoDB.Driver" publicKeyToken="f686731cfb9cc103" culture="Neutral" /> 
    <bindingRedirect oldVersion="1.8.3.9" newVersion="1.10.0.62" /> 
    </dependentAssembly>
    ...
    </assemblyBinding>
    </runtime>
    </configuration>