以编程方式配置Azure缓存客户端

时间:2013-05-29 12:16:18

标签: azure memcached

我刚刚通过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的旧构造函数不再允许安全令牌

http://msdn.microsoft.com/en-us/library/microsoft.applicationserver.caching.datacachesecurity.datacachesecurity(v=ws.10).aspx

现在我只有2个构造函数,看起来无法指定身份验证密钥

EDIT2:

我到了微软,他们告诉我:

“Windows Azure缓存和Windows Azure共享缓存共享相同的API,虽然程序集名称相同,但程序集本身也不同,位于不同的位置。 Caching NuGet包将删除共享缓存程序集引用并添加正确的缓存程序集引用。缓存程序集位于C:\ Program Files \ Microsoft SDKs \ Windows Azure.NET SDK \ 2012-10 \ ref \ Caching文件夹中。“

结论:目前不可能。

1 个答案:

答案 0 :(得分:2)

目前,新的Azure缓存.DLL(v2)与以前的版本不兼容。您需要选择一个版本,并确保所有提供商都遵守该版本。显然,Dedicated缓存需要v2.0的DataCache DLL。