ocelot版本14.1 当服务启动,第一次通过ocelot访问所有服务,每个服务都会报500错误

老子横刀向天笑 2020-07-15 10:03:44
net core环境,架构:ocelot+consul+服务集群
当ocelot、consul和服务都启动之后,第一次通过ocelot网关访问服务,每个请求都会返回一个500错误,然后第二次访问就正常了,找了好久没找到原因,不知道是哪里出问题了,有没有遇到同样问题的小伙伴
...全文
1220 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_peng 2021-05-07
  • 打赏
  • 举报
回复
这天研究了一下,如果你用到了consul public sealed class PollConsul 在这个类中加 public PollConsul(int pollingInterval, IOcelotLoggerFactory factory, IServiceDiscoveryProvider consulServiceDiscoveryProvider) { _logger = factory.CreateLogger<PollConsul>(); _consulServiceDiscoveryProvider = consulServiceDiscoveryProvider; _services = new List<Service>(); //此句后加的,处理第一次访问没有结果 _services = _consulServiceDiscoveryProvider.Get().Result; _timer = new Timer(async x => { if (_polling) { return; } _polling = true; await Poll(); _polling = false; }, null, pollingInterval, pollingInterval); }
wang_peng 2021-04-23
  • 打赏
  • 举报
回复
是的,我也遇到过.现在也一直这样. 还以为自己程序有问题,现在看来就是ocelot有bug, 你把源码下载下来调试吧,我打算这样干了
  • 举报
回复
@wang_peng 老哥,有解决吗

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧