C# MVC RabbitMQ 连接提示 None of the specified endpoints were reachable

3 篇文章 0 订阅
2 篇文章 0 订阅
  • 在 VS 中使用 NuGet 将 RabbitMQ.Client.5.2.0 程序包更新至 RabbitMQ.Client.6.2.1 版本后,程序连接 RabbitMQ 服务报 “None of the specified endpoints were reachable” 异常问题;

翻译成中文大概的意思就是 “没有指定的端点可访问”;

  • 通过网上搜索了大部分重复的文章,大致都指向了 RabbitMQ 权限未配置问题;

当然权限未配置也可能是其中之一

  • 这里先是测试了相同的连接配置、放在另外的 Console 程序中 和 新建的 .NET4.8 MVC 程序中 都可以正常连接,只有在前面的 MVC 程序中会出现此异常;

说明这里可以排除 RabbitMQ 权限未配置的可能

  • 最后经过各种排除法发现是因为 web.config 中缺少了 System.Threading.Tasks.Extensions 的引用;

附源代码: 

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

PS:虽然在程序引用中已经添加过 System.Threading.Tasks.Extensions 的引用项了,

但因为 RabbitMQ.Client 程序连接操作是在运行时才引用的 System.Threading.Tasks.Extensions.dll、非编译时,

所以必须在 web.config 中添加 runtime 绑定 System.Threading.Tasks.Extensions 引用项才行哦

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值