zoukankan      html  css  js  c++  java
  • [转载]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上运行http://123.12.1.1:6543但在其前面有类似nginx的响应在https://api.yilezhu.cn。在这种情况下,Ocelot基本网址应为https://api.yilezhu.cn

    如果由于某种原因你正在使用容器并且希望Ocelot在http://123.12.1.1:6543上响应客户端的请求, 那么你可以这样做但是如果要部署多个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();
                })
                .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的配置。

    原文:https://www.cnblogs.com/yilezhu/p/9557375.html

    作者:依乐祝

    出处:https://www.cnblogs.com/yilezhu

    联系:1015657114@qq.com .NET Core实战项目交流群:637326624

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
    DotNetCore实战
  • 相关阅读:
    读取指定文件夹中的指定类型文件
    Java中字符串比较的注意点
    Access数据库 更新 "延时" 现象
    sqlserver版本分类下载以及各个版本之间的区别是什么
    android.os.NetworkOnMainThreadException
    Android模拟器分辨率介绍
    DataReader 绑定DataGridView有两种方式
    安装完Linux Mint后,发现系统中竟没有中文输入法
    处理EXCEL11问题
    windowplayer播放列表属性
  • 原文地址:https://www.cnblogs.com/bigmango/p/10393006.html
Copyright © 2011-2022 走看看