角色缓存中的Azure和同一解决方案中的Windows Server AppFabric Cache

时间:2014-07-22 09:37:56

标签: caching azure windows-server appfabric-cache azure-in-role-cache

我们正在将Azure应用程序迁移到内部部署的数据中心。在将Azure包部署到云服务时,我们需要在角色缓存中使用Azure。在内部部署到Windows Server时,我们需要使用Windows Server AppFabric Cache。 如何让它在一个解决方案中运行?

详细解释

我们使用Azure SDK v 2.2客户端程序集连接到角色缓存中的Azure。

Microsoft.ApplicationServer.Caching.Client.dll, assembly version 1.0.0.0, file version 1.0.5137.0
Microsoft.ApplicationServer.Caching.Core, assembly version 1.0.0.0, file version 1.0.5137.0

我们使用安装程序附带的客户端程序集连接到Windows Server AppFabric Cache v 1.1。

Microsoft.ApplicationServer.Caching.Client.dll, assembly version 1.0.0.0, file version 1.0.4632.0
Microsoft.ApplicationServer.Caching.Core, assembly version 1.0.0.0, file version 1.0.4632.0

Windows Server AppFabricCache, Exception, Check the client version主题中解决了大会愿景问题。

问题是我们的主要网站项目最终会引用所有提到的具有重复名称和版本的程序集。我们不想通过它破解我们的方式。从最差到最差的选项是创建自定义程序集加载或修改构建过程。什么是首选方式?我们偏离了大路上的路吗?

2 个答案:

答案 0 :(得分:1)

您不能在同一项目中同时使用azure SDK库和内部部署库进行缓存。对于内部部署,您需要使用安装文件夹中的客户端库和角色中的客户端库,这些来自azure SDK。

如果移动的原因是服务器和客户端绑定到同一个项目,我建议使用托管缓存,这是一个新的GA解决方案,您可以在其中使用您用于角色的同一客户端,并将最小的配置级别更改为让它起作用。这里是服务团队自己管理的服务器正常运行时间SLA等,因此您不必为此烦恼。

如果你想完全转移到内部部署,那么是的,适用于Windows服务器的Appfabric是最好的解决方案。但一般来说,我已经看到来自世界各地的网站受益于其天蓝色的缓存解决方案。但是你会更好地了解你的情景:)

答案 1 :(得分:0)

可以在同一个项目中使用azure SDK库和内部部署库进行缓存,但它是 hack 。这意味着,不是一个好主意。尝试使用Redis。

我会继续提出不好的建议。

需要存在两种构建配置。一个用于Azure,另一个用于本地。需要调整本地构建过程。对于前者添加一些msbuild xml或运行一些后期构建脚本,该脚本将替换默认情况下使用本地dll部署的Azure dll。 发布本地需要也需要调整。看看这个指针:AfterPublish target not working

相关问题