博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ocelot(七)- 入门
阅读量:6424 次
发布时间:2019-06-23

本文共 3369 字,大约阅读时间需要 11 分钟。

入门

Ocelot仅适用于.NET Core,目前是为netstandard2.0构建的。如果Ocelot适合您,那么此文档可能会有用。

.NET 

安装NuGet包

使用nuget安装Ocelot及其依赖项。您需要创建一个netstandard2.0项目并将其打包到其中。然后按照下面的“启动”和“ 配置部分启动并运行。

Install-Package Ocelot

所有版本都可以在找到。

配置

以下是一个非常基本的ocelot.json。它不会做任何事情,但应该让Ocelot开始。

{    "ReRoutes": [],    "GlobalConfiguration": { "BaseUrl": "https://api.mybusiness.com" } }

这里要注意的最重要的是BaseUrl。Ocelot需要知道它正在运行的URL,以便进行Header查找和替换以及某些管理配置。设置此URL时,它应该是客户端将看到运行Ocelot的外部URL,例如,如果您正在运行容器,则Ocelot可能会在URL上运行但在其前面有类似nginx的响应在响应。在这种情况下,Ocelot基本网址应为。

如果您正在使用容器并要求Ocelot在响应客户端, 那么您可以执行此操作,但是如果您要部署多个Ocelot,您可能希望在某种类型的命令行上传递它脚本。希望您使用的任何调度程序都可以通过IP。

程序

然后在您的Program.cs中,您将需要以下内容。需要注意的主要事项是AddOcelot()(添加ocelot服务),UseOcelot()。Wait()(设置所有Ocelot中间件)。

public class Program   {       public static void Main(string[] args)       {            new WebHostBuilder()               .UseKestrel()               .UseContentRoot(Directory.GetCurrentDirectory())               .ConfigureAppConfiguration((hostingContext, config) =>               {                   config                       .SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)                       .AddJsonFile("appsettings.json", true, true)                       .AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true, true)                       .AddJsonFile("ocelot.json")                       .AddEnvironmentVariables();               })               .ConfigureServices(s => {                   s.AddOcelot();               })               .ConfigureLogging((hostingContext, logging) =>               {                   //add your logging               })               .UseIISIntegration()               .Configure(app =>               {                   app.UseOcelot().Wait();               })               .Build()               .Run();       }   }**Note:** When using ASP.NET Core 2.2 and you want to use In-Process hosting, replace **.UseIISIntegration()** with **.UseIIS()**, otherwise you'll get startup errors.

.NET 

安装NuGet包

使用nuget安装Ocelot及其依赖项。您需要创建一个netcoreapp1.0 + projct并将包带入其中。然后按照下面的“启动”和“ 配置”部分启动并运行。请注意,您需要从NuGet Feed中选择一个Ocelot包。

所有版本都可以在找到。

配置

以下是一个非常基本的ocelot.json。它不会做任何事情,但应该让Ocelot开始。

{    "ReRoutes": [],    "GlobalConfiguration": {} }

程序

然后在您的Program.cs中,您将需要以下内容。

public class Program{    public static void Main(string[] args) { IWebHostBuilder builder = new WebHostBuilder(); builder.ConfigureServices(s => { }); builder.UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup
(); var host = builder.Build(); host.Run(); } }

启动

使用json文件进行配置的示例启动如下所示。

public class Startup{    public Startup(IHostingEnvironment env)    {        var builder = new ConfigurationBuilder()            .SetBasePath(env.ContentRootPath)            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)            .AddJsonFile("ocelot.json")            .AddEnvironmentVariables();        Configuration = builder.Build();    }    public IConfigurationRoot Configuration { get; }    public void ConfigureServices(IServiceCollection services)    {        services.AddOcelot(Configuration);    }    public void Configure(IApplicationBuilder app)    {        app.UseOcelot().Wait();    }}

这几乎是你入门需要的全部。

转载于:https://www.cnblogs.com/letyouknowdotnet/p/11019705.html

你可能感兴趣的文章
LAMP架构(apache用户认证,域名重定向,apache访问日志)
查看>>
struts2.0的json操作
查看>>
SQL注入神器——sqlmap
查看>>
Unity导航 (寻路系统Nav Mesh Agent)
查看>>
SaltStack配置语法-YAML和Jinja
查看>>
运用免费OA让你有意想不到的效果
查看>>
一些软件设计软则
查看>>
Linux运维基础命令
查看>>
使用PowerShell配置IP地址
查看>>
第十一章 MySQL运算符
查看>>
JAVA常见算法题(十七)
查看>>
GUI鼠标相关设置
查看>>
使用 <Iframe>实现跨域通信
查看>>
闭包--循序学习
查看>>
项目实战之集成邮件开发
查看>>
解决C3P0在Linux下Failed to get local InetAddress for VMID问题
查看>>
1531 山峰 【栈的应用】
查看>>
巧用美女照做微信吸粉,你会做吗?
查看>>
wcf学习总结《上》
查看>>
ERROR (ClientException)
查看>>