AppFabric 1.1 の新しいリードスルー/ライトビハインド機能を試してみたい。http://msdn.microsoft.com/en-us/library/hh361698%28v=azure.10%29.aspxに従って、他の独自のアセンブリを参照するプロバイダーを実装しました。すべてが署名され、AnyCPU 用にコンパイルされています。プロバイダーとすべての参照アセンブリを GAC に配置しました ( http://msdn.microsoft.com/en-us/library/hh361703(v=azure.10).aspxを参照)。次に、キャッシュ クラスターを停止し、プロバイダー アセンブリの完全な名前 (gacutil -l から取得) を渡すリードスルー オプションとライト ビハインド オプションを使用して新しいキャッシュを作成しました。
New-Cache ReadThroughWriteBehindCache -ReadThroughEnabled true -WriteBehindEnabled true
-WriteBehindInterval 60 -ProviderType "CachingDemo.Provider, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=236fd28d53a6f1ad" -ProviderSettings @{"connectionString"="Data Source=.;Initial
Catalog=Demo;Persist Security Info=True;User
ID=sa;Password=password;MultipleActiveResultSets=True";"logFilePath"="C:\Logs\CacheProvider"}
キャッシュ クラスターを再起動すると、イベント ログにタイムアウトと次のエラー メッセージが表示されます。
AppFabric Caching service crashed with exception Microsoft.ApplicationServer.Caching.DataCacheException:
ErrorCode<ERRCMS0007>:SubStatus<ES0001>:Provider "CachingDemo.Provider, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=236fd28d53a6f1ad" instantiation failed: The given assembly name
or codebase was invalid. (Exception from HRESULT: 0x80131047) ---> System.IO.FileLoadException:
The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
何が間違っている可能性がありますか?アセンブリ名をトリプルチェックしました。キャッシュを作成するときに渡した名前は、gacutil -l から取得した名前とまったく同じです。アセンブリは、どのような場合でも機能する AnyCPU です。アセンブリはロードされていないため、アセンブリ内のエラーは除外できます。