0

我们正在将 Azure 应用程序迁移到本地数据中心。在将 Azure 包部署到云服务时,我们需要在角色缓存中使用 Azure。在本地部署到 Windows Server 时,我们需要使用 Windows Server AppFabric 缓存。您如何使其在一个解决方案中发挥作用?

详细解释

我们使用 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、异常、检查客户端版本线程中解决了程序集视觉问题。

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

4

2 回答 2

1

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

如果您移动的原因是服务器和客户端绑定到同一个项目,我建议使用托管缓存,这是新的 GA 解决方案,您可以在其中使用与角色相同的客户端,只需最少的配置级别更改即可使其工作. 这里的服务器正常运行时间 SLA 等由服务团队自己管理,因此您不必担心这些。

如果您想完全迁移到本地,那么是的,Windows 服务器的 Appfabric 是最好的解决方案。但总的来说,我看到拥有来自世界各地的流量的网站受益于他们的 azure 缓存解决方案。但是您会更好地了解您的情况:)

于 2014-07-22T17:06:43.140 回答
0

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

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

需要存在两个构建配置。一个用于 Azure,另一个用于本地。本地构建过程需要调整。例如。添加一些 msbuild xml 或运行一些构建后脚本,将默认部署的 Azure dll 替换为本地 dll。为本地发布也需要调整。查看此指针:AfterPublish 目标不工作

于 2015-05-20T07:34:56.050 回答