0

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

,我们连接到Azure在与Azure的SDK V 2.2的客户端组件角色高速缓存详细解释。

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线程中解决。

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

回答

1

您不能在同一个项目中同时使用azure SDK库和本地库以进行缓存。对于本地部署,您需要使用安装文件夹中找到的客户端库以及来自Azure SDK的in-role中的客户端库。

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

如果你想完全转移到本地,那么是的,Appfabric for windows server是最好的解决方案。但通常我已经看到来自世界各地的流量从其蔚蓝的缓存解决方案中受益的网站。但是,你会知道你的情形下取得更好:)

+0

您可以修改构建过程,以根据构建配置输出Azure SDK库或Windows Server AppFabric Cache库以将其作为目标bin文件夹。 – Fosna

+0

没有得到上下文。我认为这不会解决问题。 – Alfan

0

可以在高速缓存中的同一项目同时使用蔚蓝的SDK库和预置库,但它是一个破解。这意味着,不是一个好主意。尝试使用Redis代替。

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

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