nuGet を介して最新の Azure dll (Id: Microsoft.WindowsAzure.Caching バージョン 2.0.0.0、ランタイム バージョン v4) に更新しました。これにより、ロールの共有キャッシュを構成できました。
問題は、プログラムで AppFabric Memcache にアクセスしようとしたときです (セッションに関連しない別のキャッシュ)。
var servers = new List<DataCacheServerEndpoint>();
servers.Add(new DataCacheServerEndpoint(_hostname, _cacheport));
var conf = new DataCacheFactoryConfiguration();
conf.SecurityProperties = new DataCacheSecurity(secure(_authinfo));
var dataCacheFactory = new DataCacheFactory(conf);
_dataCache = dataCacheFactory.GetDefaultCache();
コードは正常にコンパイルされますが、実行時エラーがスローされます。
メソッドが見つかりません: 'Void Microsoft.ApplicationServer.Caching.DataCacheSecurity..ctor(System.Security.SecureString)'.
このコードを取得して dll をランタイム バージョン 2 に配置すると、チャンピオンのように動作します。
それを機能させるために何を変更する必要がありますか?
編集:
DataCacheSecurity の古いコンストラクターでは、セキュア トークンが許可されないようです。
今、私は2つのコンストラクターしか持っておらず、認証キーを指定することは不可能に見えます
編集2:
Microsoft に連絡したところ、次のように言われました。
「Windows Azure キャッシングと Windows Azure 共有キャッシングは同じ API を共有しており、アセンブリ名は同じですが、アセンブリ自体は異なり、別の場所にあります。Caching NuGet パッケージは、Shared Caching アセンブリ参照を削除し、正しい Caching アセンブリ参照を追加します。Caching アセンブリは、C:\Program Files\Microsoft SDKs\Windows Azure.NET SDK\2012-10\ref\Caching フォルダーにあります。」</p>
結論:現時点では不可能です。