Unable to start Ocelot because either a ReRoute or GlobalConfiguration

C#

浏览数:136

2019-6-19

AD:资源代下载服务

在ASP.Net Core项目APIGateway中添加Ocelot+Consul然后运行时 ,VS2017报如下错 :

内部异常 1: Exception: Unable to start Ocelot, errors are: Unable to start Ocelot, errors are: Unable to start Ocelot because either a ReRoute or GlobalConfiguration are using ServiceDiscoveryOptions but no ServiceDiscoveryFinderDelegate has been registered in dependency injection container. Are you missing a package like Ocelot.Provider.Consul and services.AddConsul() or Ocelot.Provider.Eureka and services.AddEureka()?,Unable to start Ocelot, errors are: Unable to start Ocelot because either a ReRoute or GlobalConfiguration are using ServiceDiscoveryOptions but no ServiceDiscoveryFinderDelegate has been registered in dependency injection container. Are you missing a package like Ocelot.Provider.Consul and services.AddConsul() or Ocelot.Provider.Eureka and services.AddEureka()?

问题原因: 容器中缺少相应的服务

解决办法:

  1. install-package Ocelot.Provider.Consul
  2. ConfigureServices服务注册中修改为 : services.AddOcelot(Configuration).AddConsul();

正常运行!
如果有帮助,记得点赞~~~~

作者:天空的湛蓝