博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ocelot简易教程(二)之快速开始1
阅读量:5222 次
发布时间:2019-06-14

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

原文:

Ocelot简易教程目录

  1. Ocelot是为.net core量身定做的,目前是基于 netstandard2.0进行构建的。

    .NET Core 2.1中如何使用呢?

    安装NuGet package

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

    安装命令 Install-Package Ocelot
    你可以通过下面的链接查看Ocelot的历史版本https://www.nuget.org/packages/Ocelot/ 目前最新版是10.0.4。最新版最近正在进行重构,更新比较频繁。

    配置

    以下配置是一个非常基础的Ocelot.json配置,他不会做任何事情,但却可以让ocelot正常运行。

{    "ReRoutes": [],    "GlobalConfiguration": {        "BaseUrl": "https://api.yilezhu.cn"    }}

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

如果由于某种原因你正在使用容器并且希望Ocelot在上响应客户端的请求, 那么你可以这样做但是如果要部署多个Ocelot,你可能希望在命令行中传递它某种脚本。希望您使用的任何调度程序都可以传递IP。

特别需要注意的是,这里的Ocelot.json配置文件需要在VS中右键修改为“始终复制”属性。

Program配置方法

官方文档是按照下面进行配置的。不过个人还是习惯在Sartup.cs文件中进行相关的配置。博主就先贴出官方文档给出的配置方法。

然后在你的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();//在开始实例前先把我们的ocelot Nuget包升级到最新的12.0.0版本,当然你也可以不进行升级。这里需要注意一下,如果你升级到12.0.0的版本的话,那么你config.AddOcelot()的用法会发生改变,需要传入参数                 //config.AddOcelot(hostingContext.HostingEnvironment)            })            .ConfigureLogging((hostingContext, logging) =>            {                //add your logging            })            .UseIISIntegration()            .Configure(app =>            {                app.UseOcelot().Wait();            })            .Build()            .Run();    }

Startup配置方法

我个人也比较习惯在Startup.cs中进行配置,不习惯在Program.cs中配置。下面是我配置的一种方式,当然你也可以自由发挥。

public void ConfigureServices(IServiceCollection services)        {             services.AddMvc();            services.AddOcelot(new ConfigurationBuilder()                    .AddJsonFile("ocelot.json")                    .Build());        }        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public async void Configure(IApplicationBuilder app, IHostingEnvironment env){        if (env.IsDevelopment())        {            app.UseDeveloperExceptionPage();        }        await app.UseOcelot();        app.UseMvc();}

总结

今天只是给大家介绍Ocelot的非常非常简单地使用,可以说零配置,并介绍了官方的使用方法以及我平时的使用方式,只为了快速开始Ocelot,让项目能够跑起来。接下来我们会详细的介绍Ocelot的配置。

posted on
2018-12-21 00:21 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10153439.html

你可能感兴趣的文章
mysql-mysqlslap执行报错
查看>>
sdn
查看>>
# 2017-2018-1 20155302 课下实践IPC及课上补充
查看>>
java8新特性之Optional类
查看>>
在Qt(C++)中使用QThread实现多线程
查看>>
11-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案微信小程序篇(微信配网配置_Airkiss步骤_2)...
查看>>
jquery阅读记录2
查看>>
zabbix电话告警V1
查看>>
eclipse把局部变量提为全局变量的快捷键是什么
查看>>
《研磨设计模式》——可配置的简单工厂
查看>>
为网站添加免费的访问计数统计和加入微博
查看>>
ubuntu root用户 默认密码
查看>>
对百度搜索法的分析评价
查看>>
网络知识之ipset
查看>>
Credit Memo和Debit Memo在AR以及AP中的概念比较
查看>>
在Azure上部署Sqlserver网络访问不了的问题
查看>>
hdu 1561 The more, The Better(树形dp入门)
查看>>
最小度限制生成树模板
查看>>
树状数组总结
查看>>
3.shell编程-文件查找之find命令
查看>>