1

希望这是一个简单的,我正在做一些愚蠢的事情。我在 VS 2012 中的 .Net 4.5 上有一个 Web 应用程序,它在某些时候调用一个方法,该方法又向 Azure 中的服务总线发送消息。然后在本地运行的服务检索此消息并对其进行处理。伟大的。

但是,我一直收到异常(VS 设置为在未处理时中断),这在 Microsoft.ServiceBus.dll 版本 1.6.0.0 上给出了熟悉的文件加载异常,机器上的版本是 1.7.xx 或 1.8.xx 我可以成功发送和接收消息,所以我不确定这会产生什么影响!但它仅在通过 Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling 命名空间中的 ExecuteAction 方法通过非常有用的 RetryPolicy 类调用服务总线调用时发生。我只能假设这个组件是针对 1.6.0.0 构建的,但我似乎拥有最新版本。

有没有其他人遇到过这个问题以及如何最好地解决它?运行两个版本的 Microsoft.ServiceBus 是否明智?IE。1.6.0.0 用于云服务,1.7/1.8.xx 用于 Web 应用程序?我在哪里可以获得 1.6.0.0?

4

1 回答 1

0

Windows Azure SDK 1.6 包含 Microsoft.ServiceBus.dll 1.6(即 2011 年 11 月发布的版本)。你可以从这里得到它

现在,您确定 EnterpriseLibrary 正在寻找该特定版本吗?过去(我不记得确切的时间),在安装 SDK 时将 SB 程序集添加到 GAC,因此库可能期望 SB 程序集被 GACced。在使用超过一年的旧版本的服务总线 dll 之前,您可能希望使用融合日志来验证这一点。

于 2013-01-05T22:41:22.787 回答