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客户端篇的更多相关文章

  1. spring cloud config客户端

    上篇介绍了spring cloud config服务器,本篇介绍客户端.客户端主要是从config服务器获取配置信息. 代码示例 首先创建一个Maven项目,在pom.xml文件中添加依赖: < ...

  2. 实现SpringCloud Config 客户端自动刷新

    文章来源:https://blog.csdn.net/qq_27385301/article/details/82716218 一.简介 在使用SpringCloud Config客户端时,如果Con ...

  3. Nacos Config客户端与Spring Boot、Spring Cloud深度集成

    目录 Nacos与Spring Boot集成 @NacosPropertySource和@NacosValue com.alibaba.nacos.spring.core.env.NacosPrope ...

  4. Spring Cloud Config应用篇(九)

    一.SpringCloud Config 配置中心 1.1.配置中心说明 SpringCloud Config 服务器以下简称"配置中心". Spring Cloud Config ...

  5. CloudNotes之桌面客户端篇:插件系统的实现

    [CloudNotes版本更新历史与各版本下载地址请点击此处] [CloudNotes中文系列文章汇总列表请点击此处] [查看CloudNotes源代码请点击此处] 有时候,同一个名词,针对不同的人群 ...

  6. CloudNotes之桌面客户端篇:增强的笔记列表

    今天,我发布了CloudNotes的一个更新版本:1.0.5484.36793.这个版本与1.0.5472.20097不同的是,它拥有增强的笔记列表,与之前单调的列表系统相比,新的笔记列表不仅可以显示 ...

  7. C# 客户端篇之实现Restful Client开发(RestSharp帮助类)

    上篇文章<C# 服务端篇之实现RestFul Service开发(简单实用)>讲解到,如果开发一个简单的Restful风格的Service,也提到了简单创建一个Restful Client ...

  8. Steeltoe之Service Discovery篇

    在前文一窥Spring Cloud Eureka中,已经构建了基于Eureka的服务端与客户端,可用于实现服务注册与发现功能.而借助Steeltoe的类库,可以在.NET生态系统中使用Spring C ...

  9. CloudNotes之桌面客户端篇:笔记撰写样式的支持

    最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能.当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default).羊皮纸样式(L ...

随机推荐

  1. PL/SQL学习笔记之基本块格式与语法

    一:PL/SQL程序块 PL/SQL是一种块结构的语言,一个PL/SQL程序就是一个 代码逻辑块. PL/SQL程序由三部分构成: 1 声明 部分 使用关键字DECLARE开头,它是一个可选的部分,用 ...

  2. StringBuilder在高性能场景下的正确用法

    转载:<StringBuilder在高性能场景下的正确用法> by 江南白衣 关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不 ...

  3. Ubuntu18.04的网络管理netplan和防火墙ufw

    Netplan Ubuntu18.04使用的网络管理是netplan, 配置文件在/etc/netplan/下 刚安装完成的配置是这样的 刚安装完成的配置是这样的 network: ethernets ...

  4. 点击LinearLayout使用selector改变TextView字体颜色

    [html] view plaincopy   <LinearLayout android:clickable="true" android:focusable=" ...

  5. CSS3 选择器 基本选择器介绍

    CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应的元素,此时就需要我们所说的选择器.选 ...

  6. 浏览器URL参数解决方案

    function getUrlParams() { var search = window.location.search; // 写入数据字典 , search.length).split(&quo ...

  7. Redis资料整理

    1.Redis命令參考中文简体版. 2.java操作redis.jedis使用api 3.Redis学习笔记. 4.浅谈Redis数据库的键值设计 5.Redis资料汇总专题 6.MongoDB资料汇 ...

  8. 安装配置OSA运维管理平台

    1.下载完整包V1.0.2wget http://www.osapub.com/download/OSA_BETA_V1.0.2.tar.gzV1.0.5wget http://www.osapub. ...

  9. php手册总结《类》

    手册页面: http://php.net/manual/zh/language.oop5.basic.php >> 类名 类名可以是任何非 PHP 保留字的合法标签.一个合法类名以字母或下 ...

  10. [转载][IoC容器Unity]第二回:Lifetime Managers生命周期

    1.引言 Unity的生命周期是注册的类型对象的生命周期,而Unity默认情况下会自动帮我们维护好这些对象的生命周期,我们也可以显示配置对象的生命周期,Unity将按照配置自动管理,非常方便,下面就介 ...