Steeltoe是一款开源项目,其目标是选取源自Netflix及其它公司的工具,使它们能够运用于.NET社区。它不仅可以在.NET Core上,也可以在.NET Framework 4.X以上使用。此外,大多数的组件能够同时运行在本地机器及Cloud Foundry(一个领先的云应用平台)之上。

Steeltoe基于Spring Cloud开发而成,它提供了数种类库包使得.NET开发者可以利用这些工具实现一些通用模式(比如中心化配置管理,服务发现,断路器等等),从而构建高度可扩展及具有弹性的分布式系统。通过Steeltoe,以及Spring Cloud,开发者能够快速建立实现这些模式的微服务和应用程序。

本文将介绍Steeltoe中用于中心化配置管理的客户端的组件。与之对应的Config Server是前文(初探Spring Cloud Config)中已经建立的。

ASP.NET Core应用

第一步,建立一个ASP.NET Core应用程序,可以使用空模板,然后手动添加Controller,View及appsettings.json文件和文件夹。

Package

想要使用这块功能的组件,首先需要安装对应的类库。
对于ASP.NET Core,使用Steeltoe.Extensions.Configuration.ConfigServerCore类库。

对于Console/ASP.NET 4.x,使用Steeltoe.Extensions.Configuration.ConfigServerBase类库。

Program.cs

在Program类中,利用IWebHostBuilder的扩展方法添加ConfigServer。

public static IWebHostBuilder CreateWebHostBuilder(string[] args){    return WebHost.CreateDefaultBuilder(args).AddConfigServer().UseStartup<Startup>();
}

appsettings.json

在appsettings.json文件里添加Config Server的URI地址。

{"spring": {"cloud": {"config": {"uri": "http://localhost:9555"}}}
}

获取配置

通过依赖注入方式,在Controller中得到Configuration,并从中取得message的值。这里假设在Config Server的配置仓库里已经设置了message值为Hello, Steeltoe Configuration

public class HomeController : Controller{   

   public IConfiguration Configuration { get; set; }  

   public HomeController(IConfiguration configuration)    {Configuration = configuration;}   

   public IActionResult Index()    {ViewData["message"] = Configuration["message"];           return View();}
}

显示配置

在cshtml页面中显示message值。

@{ViewData["Title"] = "Home";
}@ViewData["message"]

结果

先启动Spring Cloud的Config Server,再启动上面的.NET Core代码,结果如下:

相关文章:

  • HttpClientFactory与Steeltoe结合来完成服务发现

  • .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud)

原文地址: https://www.cnblogs.com/kenwoo/p/9581848.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

Steeltoe之Config客户端篇相关推荐

  1. git config高级篇

    git config高级篇 原文:  http://opengit.org/open/?f=progit_07-customizing-git 一.前言 Git 能够识别的配置项被分为了两大类:客户端 ...

  2. Spring Cloud Config 客户端启动错误(Fetching config from server at : http://12)

    Spring Cloud Config 客户端启动错误(Fetching config from server at : http://12) FAQ Java HotSpot(TM) 64-Bit ...

  3. redis入门——客户端篇

    redis入门--客户端篇 @(Redis)[redis, 入门, 客户端命令, jdeis] redis入门客户端篇 redis的客户端 redis-cli redis-desktop-manage ...

  4. 石器时代linux架设教程,CentOS 6.5架设石器时代教程(客户端篇)

    [title]客户端篇[/title] 首先下载客户端 大亨石器客户端:https://pan.baidu.com/s/1R0fXmy6Fhyev5YUxcJ0pHQ  密码tj0u 第一步 配置客户 ...

  5. 用unity和php实现一个排行榜功能(unity客户端篇)

    注:此文章需配合以下文章一起使用 用unity和php实现一个排行榜功能(PHP服务端篇) unity客户端篇 目前我用的版本是unity2020,unity2019,这份代码应该也适用 排行榜显示部 ...

  6. 利用动态二进制加密实现新型一句话木马之客户端篇(转) 冰蝎

    概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...

  7. Spring Cloud Config客户端使用

    要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例).添加依赖关系的最方便的方 ...

  8. Android源码分析 - Framework层的Binder(客户端篇)

    开篇 本篇以aosp分支android-11.0.0_r25作为基础解析 我们在之前的文章中,从驱动层面分析了Binder是怎样工作的,但Binder驱动只涉及传输部分,待传输对象是怎么产生的呢,这就 ...

  9. 字节跳动技术岗官方解析 · 客户端篇:业务、中台、infra,这里的客户端究竟是怎样的?...

    「高效」和「便捷」,是许多字节跳动客户端研发同学对公司技术体系的评价. 背靠更好的技术栈.最新的工具链,字节跳动客户端同学们得以用最顺畅的方式开发新的产品或功能. 更不用提丰富的中台工具了,账号系统. ...

最新文章

  1. asp之GetArray提取链接地址,以$Array$分隔的代码
  2. hibernate教程--事务处理详解
  3. Centos6.5_x86_64 编译安装Subversion-1.8.5
  4. 代理服务器ip地址如何获得_详细教程:如何使用代理服务器进行网页抓取?
  5. 9.27-uname,useradd命令
  6. 在C#中利用SharpZipLib进行文件的压缩和解压缩
  7. zookeeper leader选举机制
  8. thinkphp学习笔记8—命名空间
  9. [置顶] Android玄铁剑之TextView之图文并茂
  10. 三维点云学习(2)上- 二叉树实现K-NN Radius-NN Search
  11. c/c++中define用法详解及代码示例
  12. paip.提升效率----更改数组LIST对象值for与FOREACH
  13. quartz定时任务时间设置
  14. 终于来了!Win11 预览版镜像提前出世(附 ISO 下载)
  15. 微信小程序学习(二)党费计算实例
  16. mysql中flush用法,flush 的常规用法:
  17. 无需改动代码实现jasypt加密
  18. 谷歌采用神经网络驱动机器翻译,可离线翻译59种语言
  19. 安装腾讯通 rtx 老是提示用户名密码错误
  20. openlayers3教程详细_OpenLayers 3 入门教程

热门文章

  1. Docker Network 配置,自定义bridge网络
  2. Nodejs前端服务器压缩图片
  3. centos安装kvm
  4. PHP截取IE浏览器并缩小原图的方法
  5. 最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
  6. 使用JavaScript实现页面选项自动添加行以及删除行 javaweb
  7. 归档日志 delete input 和delete all input 区别
  8. HDU 2996 In case of failure [KD树]
  9. ASP.NET Core 6.0对热重载的支持
  10. 介绍这个库:C# Blazor中显示Markdown文件