入门

Ocelot仅适用于.NET Core,目前是根据netstandard2.0构建的,如果Ocelot适合您,这个文档可能会有用。

.NET Core 2.1

安装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可能会在网址http://123.12.1.1:6543上运行,但在https://api.mybusiness.com上响应它之前有类似nginx的东西。 在这种情况下,Ocelot基本网址应为https://api.mybusiness.com。

如果由于某种原因你正在使用容器并且希望Ocelot在http://123.12.1.1:6543上响应客户端,那么你可以这样做但是如果要部署多个Ocelot,你可能希望在命令行中传递它 某种脚本。 希望您使用的任何调度程序都可以传递IP。
 
Program.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();}
}

.NET Core 1.0

安装NuGet包

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

所有版本都可以在这里找到。

配置
 
以下是一个非常基本的ocelot.json。 它不会做任何事情,但应该让Ocelot开始。
{{ "ReRoutes": [],"GlobalConfiguration": {}
}

Program.cs文件
 
然后在Program.cs中,您将需要以下内容。
 
public class Program
{public static void Main(string[] args){IWebHostBuilder builder = new WebHostBuilder();builder.ConfigureServices(s => {});builder.UseKestrel().UseContentRoot(Directory.GetCurrentDirectory()).UseStartup<Startup>();var host = builder.Build();host.Run();}
}
Startup.cs文件使用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();}
}

以上这些就是Ocelot基本入门内容。喜欢就收藏此文。版权所有,禁止未经授权的复制转载。详细的中文文档查阅 http://nopapp.com/Blog/Article/Ocelot-Basic

转载于:https://www.cnblogs.com/bruceday/p/9872584.html

Ocelot中文文档入门相关推荐

  1. Ocelot中文文档-缓存

    Ocelot中文文档-缓存 原文:Ocelot中文文档-缓存 目前Ocelot使用CacheManager项目提供了一些非常基本的缓存.这是一个了不起的项目,它解决了很多缓存问题. 我会推荐这个软件包 ...

  2. Ocelot中文文档-微服务ServiceFabric

    Ocelot中文文档-微服务ServiceFabric 原文:Ocelot中文文档-微服务ServiceFabric 如果您在Service Fabric中部署了服务,则通常会使用命名服务来访问它们. ...

  3. web3.js 中文文档 入门

    web3.js 中文文档 v1.3.4 入门(Getting Started) web3.js是包含以太坊生态系统功能的模块集合. web3-eth用于以太坊区块链和智能合约. web3-shh是针对 ...

  4. .NET Core开源API网关 – Ocelot中文文档

    Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butterfly ...

  5. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明

    以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...

  6. 一天学会shell语言,shell教程,shell简单入门,shell中文文档

        shell语言是一门linux系统下的工具语言,主要用于写一些linux系统下的操作命令,实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.或者直接理解为shell命 ...

  7. 推荐:Webpack2入门到深入的中文文档

    2019独角兽企业重金招聘Python工程师标准>>> 最近看了一本不错的<<webpack2中文文档>>的PDF,对比于wepack2官网(https:// ...

  8. Bootstrap 一篇就够 快速入门使用(中文文档)

    目录 一.Bootstrap 简介 什么是 Bootstrap? 历史 为什么使用 Bootstrap? Bootstrap 包的内容 在线实例 Bootstrap 实例 更多实例 Bootstrap ...

  9. springboot中文文档_登顶 Github 的 Spring Boot 仓库!艿艿写的最肝系列

    源码精品专栏 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 My ...

最新文章

  1. 【神经网络】(18) EfficientNetV2 代码复现,网络解析,附Tensorflow完整代码
  2. MATLAB 图像处理函数(第六章)(获取图像矩形像素的运用)
  3. C++ (public, protected, private继承)
  4. 本地缓存需要高时效性怎么办_详解微信小程序缓存--缓存时效性
  5. snapchat注册不到_从Snapchat获得开发人员职位中学到的经验教训
  6. 实现前后台数据交互(上传/回传单个JSON数据和上传/回传JSON数组)
  7. ethtool工具设置网口配置
  8. java课程设计(总结)
  9. 全国计算机演示文稿,全国计算机等级考试二级office演示文稿题目[文].pdf
  10. 计算机包括桌面计算机和便携式计算机,【填空题】( )计算机包括桌面计算机和便携式计算机这两种形式。...
  11. 永磁同步电机SVPWM过调制电压重构MTPA弱磁矢量控制仿真 模型
  12. Android apk安装报错:应用未安装 软件包似乎已损坏
  13. 爬虫Selenium+Chrome 控制浏览器,打开百度网页,输入搜索关键词,点击回车,截取搜索页面
  14. MySQL有几部分_数据库系统有哪几部分组成?
  15. linux DRM/KMS 测试工具 modetest、kmscude、igt-gpu-tools (一)
  16. 进程间通信: 进程间通信都有哪些方法?
  17. PPC体系结构[转]
  18. html中百分比都支持吗,響應式設計中百分比%的問題_html/css_WEB-ITnose
  19. i510400和i512400差距
  20. 解决img标签src路径为本地路径访问受限问题:Not allowed to load local resource

热门文章

  1. java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串
  2. 12面魔方公式图解法_三阶魔方入门
  3. python游戏循环设置_Pygame:游戏循环前的初始菜单
  4. python fieldnames_csvreader.fieldnames在python中未被识别为csv reader对象的属性
  5. linux c实现一个简单的sniffer
  6. html清除图片缓存
  7. 【C++grammar】vector类和字符串字面量
  8. java 根据类名示例化类_Java类类getProtectionDomain()方法及示例
  9. java安卓写文件路径,如何使用gradle作为构建系统,平台Android配置Protobuf(Java)文件的输出路径?...
  10. 将10000H-1000FH这段空间当做栈,初始状态栈是空的,设置AX=001AH,BX=001BH,利用栈,交换AX和BX的数据