Steeltoe之Config客户端篇
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代码,结果如下:

Steeltoe之Config客户端篇的更多相关文章
- spring cloud config客户端
上篇介绍了spring cloud config服务器,本篇介绍客户端.客户端主要是从config服务器获取配置信息. 代码示例 首先创建一个Maven项目,在pom.xml文件中添加依赖: < ...
- 实现SpringCloud Config 客户端自动刷新
文章来源:https://blog.csdn.net/qq_27385301/article/details/82716218 一.简介 在使用SpringCloud Config客户端时,如果Con ...
- Nacos Config客户端与Spring Boot、Spring Cloud深度集成
目录 Nacos与Spring Boot集成 @NacosPropertySource和@NacosValue com.alibaba.nacos.spring.core.env.NacosPrope ...
- Spring Cloud Config应用篇(九)
一.SpringCloud Config 配置中心 1.1.配置中心说明 SpringCloud Config 服务器以下简称"配置中心". Spring Cloud Config ...
- CloudNotes之桌面客户端篇:插件系统的实现
[CloudNotes版本更新历史与各版本下载地址请点击此处] [CloudNotes中文系列文章汇总列表请点击此处] [查看CloudNotes源代码请点击此处] 有时候,同一个名词,针对不同的人群 ...
- CloudNotes之桌面客户端篇:增强的笔记列表
今天,我发布了CloudNotes的一个更新版本:1.0.5484.36793.这个版本与1.0.5472.20097不同的是,它拥有增强的笔记列表,与之前单调的列表系统相比,新的笔记列表不仅可以显示 ...
- C# 客户端篇之实现Restful Client开发(RestSharp帮助类)
上篇文章<C# 服务端篇之实现RestFul Service开发(简单实用)>讲解到,如果开发一个简单的Restful风格的Service,也提到了简单创建一个Restful Client ...
- Steeltoe之Service Discovery篇
在前文一窥Spring Cloud Eureka中,已经构建了基于Eureka的服务端与客户端,可用于实现服务注册与发现功能.而借助Steeltoe的类库,可以在.NET生态系统中使用Spring C ...
- CloudNotes之桌面客户端篇:笔记撰写样式的支持
最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能.当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default).羊皮纸样式(L ...
随机推荐
- JAVA四则运算字符串解释器
最近学习到后缀表达式,于是基于后缀表达式的思想,写了一个四则运算解释器,输入字符串类型的四则运算表达式,可以直接得到结果,支持括号嵌套. 实现时主要考虑以下两点: 字符串中运算符和数字分离 运算符优先 ...
- php验证码--图片
这里我们介绍图片验证码的制作,有关字符验证码能够參考下面文章: 点击打开链接 图片验证码的制作分三步: 1.制作图片库 2.随机选取一张图片 3.输出图片内容 代码例如以下(这里为了方便我直接用的本地 ...
- 6.翻译系列:EF 6 Code-First中数据库初始化策略(EF 6 Code-First系列)
原文链接:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-firs ...
- 第三部分:Android 应用程序接口指南---第二节:UI---第九章 搜索
第9章 搜索 在android平台上搜索是一个核心的用户功能.无论内容位于设备或网络上,用户应该能够搜索任何对它们可用的数据.为了创建一个一致的用户搜索体验,Android平台提供了一个搜索框架帮助你 ...
- 虚拟机centos 7联网设置之NAT方式
第一步在设置虚拟机的连接模式为NAT,虚拟机是VMware12的版本 第二步在PC主机上设置网络共享 第三步将虚拟机网卡开启,默认关闭状态,开启网卡 ip link set ens32 up (ens ...
- Source Insight 4.0常用设置
本文以Source Insight 4.00.0086版本为例讲解常用设置. 1.Source Insight简介 Source Insight是一个面向软件开发的代码编辑器和浏览器,它拥有内置的对C ...
- 【emWin】例程十三:字库放到外部存储器
介绍: 本例将字库文件放到SD卡中,通过读取SD卡中的字库文件在液晶上显示文字. 实验指导书及代码包下载: 链接:http://pan.baidu.com/s/1bo0yTLd 密码:i4sm ...
- 【Unity】ShareSDK、SMSSDK的基本使用与常见问题
概要 测试使用ShareSDK的一些常用功能.包括: 用微博帐号做第三方登录 获取用户的帐号详细信息 获取好友列表 分享功能 测试使用SMSSDK插件,包括: 导入插件,解决包冲突 短信登录功能:发验 ...
- Linux下apache activemq的安装与配置
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范 的 JMS Provider实现,尽管JMS规范出台已经是很 ...
- Java知多少(18)类的定义及其实例化
类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; v ...