ASP.NET Core Api网关Ocelot的使用初探

 更新时间:2021年03月12日 11:12:03   作者:UP技术控  
这篇文章主要介绍了ASP.NET Core Api网关Ocelot的使用初探,帮助大家更好的理解和学习使用.NET技术,感兴趣的朋友可以了解下

概述

Ocelot面向使用.NET运行微型服务/面向服务的体系结构的人员,这些体系结构需要在系统中具有统一的入口点。特别是我想与IdentityServer参考和承载令牌轻松集成。Ocelot是按特定顺序排列的一堆中间件。Ocelot将HttpRequest对象操作到由其配置指定的状态,直到到达请求构建器中间件,在该中间件中它创建一个HttpRequestMessage对象,该对象用于向下游服务发出请求。发出请求的中间件是Ocelot管道中的最后一件事。它不会调用下一个中间件。有一块中间件可将HttpResponseMessage映射到HttpResponse对象,然后将其返回给客户端。基本上,它具有许多其他功能。

代码实现

1、新建api客户端1

2、新建api 网关test

3、nuget安装Ocelot

4、Program文件添加ConfigureAppConfiguration

public class Program
 {
  public static void Main(string[] args)
  {
   CreateHostBuilder(args).Build().Run();
  }

  public static IHostBuilder CreateHostBuilder(string[] args) =>
   Host.CreateDefaultBuilder(args)
   .ConfigureAppConfiguration(conf =>
   {
    conf.AddJsonFile("ocelot.json", false, true);
   })
    .ConfigureWebHostDefaults(webBuilder =>
    {
     webBuilder.UseStartup<Startup>();
    });
 }

5、Startup文件配置

 services.AddOcelot(Configuration);
 app.UseOcelot().Wait();

6、网关项目下添加文件ocelot.json

{
 "ReRoutes": [
 {
  "DownstreamPathTemplate": "/api/WeatherForecast/GetList",
  "DownstreamScheme": "http",
  "DownstreamHostAndPorts": [
  {
   "Host": "localhost",
   "Port": 5000
  }
  ],
  "UpstreamPathTemplate": "/GetList",
  "UpstreamHttpMethod": [ "Get" ]
 },

 {
  "DownstreamPathTemplate": "/{everything}",
  "DownstreamScheme": "http",
  "DownstreamHostAndPorts": [
  {
   "Host": "localhost",
   "Port": 5000
  }
  ],
  "UpstreamPathTemplate": "/{everything}",
  "UpstreamHttpMethod": [ "Post" ]
 },
 {
  "DownstreamPathTemplate": "/api/WeatherForecast/GetModel?id={s1}",
  "DownstreamScheme": "http",
  "DownstreamHostAndPorts": [
  {
   "Host": "localhost",
   "Port": 5000
  }
  ],
  "UpstreamPathTemplate": "/GetModel?id={s1}",
  "UpstreamHttpMethod": [ "Get" ]
 }
 ]
}

7、2个项目运行,测试

代码地址

https://gitee.com/conanOpenSource_admin/Example/commit/b3b5a6b15a060b46c5ecd2ea31f0d36791cda18c

以上就是ASP.NET Core Api网关Ocelot的使用初探的详细内容,更多关于ASP.NET Core Api网关Ocelot的资料请关注脚本之家其它相关文章!

相关文章

  • 详解ASP.NET-----Repeater数据控件的用法总结

    详解ASP.NET-----Repeater数据控件的用法总结

    本篇文章主要介绍了ASP.NET--Repeater数据控件的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-11-11
  • ASP.NET Session对象保持会话使用说明

    ASP.NET Session对象保持会话使用说明

    ASP.NET提供了Session对象,从而允许程序员识别、存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息
    2012-12-12
  • asp.net程序优化 尽量减少数据库连接操作

    asp.net程序优化 尽量减少数据库连接操作

    最近做一个项目,做的比较郁闷,现在把项目经验总结在这里。项目的主要功能就是为第三方程序提供数据,并根据客户端的调用提供数据更新。我的程序属于服务端。服务端以站点形式部署,以Xml的数据格式输出
    2012-05-05
  • asp.net动态获取Excel表名的函数代码

    asp.net动态获取Excel表名的函数代码

    asp.net动态获取Excel表名的函数代码,需要的朋友可以参考下。
    2011-02-02
  • asp.C#实现图片文件与base64string编码解码

    asp.C#实现图片文件与base64string编码解码

    前些天在opera论坛里面当了个flashblocker脚本文件,顾名思义,就是把网页中的flash给过滤了,过滤之后呢就会在原位置显示一张图片,以前用firefox时的flash过滤插件也是这样,而且显示的图片也一样,一样的难看,于是就想换换它。
    2010-03-03
  • asp.net“服务器应用程序不可用” 解决方法

    asp.net“服务器应用程序不可用” 解决方法

    服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。
    2008-10-10
  • ASP.NET Core MVC学习教程之路由(Routing)

    ASP.NET Core MVC学习教程之路由(Routing)

    这篇文章主要给大家介绍了关于ASP.NET Core MVC学习教程之路由(Routing)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core MVC具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Asp.net Web Api实现图片点击式图片验证码功能

    Asp.net Web Api实现图片点击式图片验证码功能

    现在验证码的形式越来越丰富,今天要实现的是在点击图片中的文字来进行校验的验证码。下面通过本文给大家分享Asp.net Web Api实现图片点击式图片验证码功能,需要的的朋友参考下吧
    2017-06-06
  • win7系统下 vs2010 调式就关闭要重启处理方法

    win7系统下 vs2010 调式就关闭要重启处理方法

    最近经常出现只要一使用vs2010进行调试,就提示关闭并要重启,好烦,度娘了半天,总结下来解决方法,亲测可用哦。
    2014-08-08
  • .NET Core中创建和使用NuGet包的示例代码

    .NET Core中创建和使用NuGet包的示例代码

    这篇文章主要介绍了.NET Core中创建和使用NuGet包的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04

最新评论