1.内存配置 MemoryConfigurationProvider使用内存中集合作为配置键值对.若要激活内存中集合配置,请在ConfigurationBuilder的实例上调用AddInMemoryCollection扩展方法.可以使用IEnumerable<KeyValuePair<String,String>> 初始化配置提供程序.构建主机时调用ConfigureAppConfiguration以指定应用程序的配置: public class Program { public…
如果你是刚接触ASP.NET Core的学习的话,你会注意到:在ASP.NET Core项目中,看不到.NET Fraemwork时代中的web.config文件和app.config文件了.那么你肯定好奇,现在在ASP.NET Core应用程序中,是通过什么来配置我们的配置信息呢? 下面就跟着我一起来学习了解吧,在ASP.NET Core中是如何配置我们的配置信息,如果读取配置信息的. 在ASP.NET Core 中是使用一个或者多个配置提供程序来配置我们的应用程序的.配置提供程序可以从各种不…
1.前言 ASP.NET Core在应用程序上引入Microsoft.Extensions.Configuration配置,可以支持多种方式配置,包括命令行配置.环境变量配置.文件配置.内存配置,自定义配置等等.下面我们就其中几个配置来聊聊. 2.命令行配置 CommandLineConfigurationProvider在应用程序运行时会从(例如DOS)命令行参数键值加载配置.要激活命令行配置,请在ConfigurationBuilder的实例上调用AddCommandLine扩展方法.使用C…
​作为软件开发人员,我们当然喜欢一些可配置选项,尤其是当它允许我们改变应用程序的行为而无需修改或编译我们的应用程序时.无论你是使用新的还是旧的.NET时,可能希望利用json文件的配置.在这篇文章中,我们将探讨读取配置所需的必要步骤以及使用这些值. .NET的配置历史 对于那些ASP.NET老兵,你可能还记得wen.config.虽然它没有完全被抛弃,但它在ASP.NET Core中扮演着不那么重要的角色.web.config是一个基于XML的文件,用于配置IIS的主机环境.在这个文件中,我们可…
翻译自 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0 ASP.NET Core 中的配置使用一个或者多个配置提供程(configuration providers)序实现.配置提供程序从多种键值对中的配置源中读取配置数据: 设置文件,例如 appsetting.json 环境变量 Azure 键库 Azure App 配置 命令行参数 自定义提供器,安装的或…
目录 以键-值对的形式读取配置 多环境配置 读取结构化的配置数据 参考 .NET Core 定义配置的方式不同于之前 NET 版本,之前是依赖于 System.Configuration 的 app.config 和 XML 配置文件 web.config. 新的配置系统更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用文件格式(INI.JSON 或 XML),也可以使用内存的变量作为配置的数据源,或直接配置定义在持久化的文件甚至数据库中. 以键-值对的形式读取配…
前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新的方式更加轻量级,具有更好的扩展性,数据源更加多样性. ASP.NET Core 应用可用的配置提供程序 提供程序 一下对象提供配置 Azure Key Vault 配置提供程序 Azure Key Vault Azure 应用配置提供程序 Azure 应用程序配置 命令行配置提供程序 命令行参数…
配置 参考文件点击跳转 配置来源 命令行参数 自定义提供程序 目录文件 环境变量 内存中的.NET 对象 文件 默认配置 CreateDefaultBuilder方法提供有默认配置,在这个方法中会接收前缀为ASPNETCORE_的变量和命令行参数以及appsettings.json和appsettings.{Environment}.json等,可以通过下面的源码看到,注意配置文件的顺序 一般顺序为 文件 Azure 用户机密(生产中没有) 环境变量 命令行参数 命令行参数可以更新替换相关的程序…
继续上次授权的内容,客户端模式后我们再说以下密码模式,先回顾下密码模式的流程: 我们还是使用上次的代码,在那基础上修改,在IdentityServer4里面有一个IdentityServer4.Test的引用,它里面包含了测试用户的类,我们先将这个引用添加进来,并配置我们的用户信息,修改Config类,添加一个GetTestUsers()方法,当然在实际项目中,我们需要去从我们的数据库中去读取用户名及密码等信息,这里只做测试,添加内容如下: 我们再添加一个客户端,更改其授权模式为密码模式,内容如…
1.前言 选项(Options)模式是对配置(Configuration)的功能的延伸.在12章(ASP.NET Core中的配置二)Configuration中有介绍过该功能(绑定到实体类.绑定至对象图.将数组绑定至类)而选项模式又有个选项类(TOptions),该选项类作用是指:把选项类中的属性与配置来源中的键关联起来.举个例,假设json文件有个Option1键,选项类中也有个叫Option1的属性名,经过选项配置,这样就能把json中的键的值映射到选项类属性值中.也可以理解在项目应用中,…
一.前言 一般的情况下,我们都无需调用HTTP请求的大小,只有在上传一些大文件,或者使用HTTP协议写入较大的值时(如调用WebService)才可能会调用HTTP最大请求值. 在ASP.NET Core 2.0中,它的两个宿主服务器Kestrel和HttpSys默认的HTTP最大请求大小为30MB (~28.6 MiB). 如果当HTTP请求值大于这个默认配置时,在执行Request.Body.ReadAsync方法时,就会引发IOException异常.如果这个异常未被捕获,在Kestrel…
一.  ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供. configuration  将从各种配置源提供程序操作键值对,这些配置源可以是: (1) Azure Key Vault(是基于云的服务的安全存储应用机密) (2) 命令行参数 (3)(已安装或已创建的)自定义提供程序(自定义实现IConfigurationSource) (4) 目录文件(Key-per-file) (5) 环境变量(Environme…
ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置. 今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls. 让你了解ASP.NET Core Kestrel 的地址设置. 下面我们就来了解如何配置.我将介绍4种方式来配置Urls. 首先我们新建一个ASP.NET Core 空应用程序. UseUrls 大家最熟悉的一种也就是使用UseUrls .下面我们就来实际使用. UseUrls 方法可以使用多个地址…
前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器) ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入) ASP.NET Core中使用IOC三部曲(三.采用替换后的Autofac来实现AOP拦截) 正文 上…
前言:马上要过年了,祝大家新年快乐!在过年回家前分享一篇关于Zookeeper的文章,我们都知道现在微服务盛行,大数据.分布式系统中经常会使用到Zookeeper,它是微服务.分布式系统中必不可少的分布式协调框架.它的作用体现在分布式系统中解决了配置中心的问题,以及解决了在分布式环境中不同进程之间争夺资源的问题,也就是分布式锁的功能以及分布式消息队列功能等等.所以在微服务的环境中Zookeeper是现在很多公司首选的分布式协调框架,包括我之前的公司也在使用Zookeeper.说了这么多,没别的就…
前言 本文基于官方文档 <在 ASP.NET Core 防止跨站点请求伪造 (XSRF/CSRF) 攻击>扩展另一种全局配置Antiforgery方法,适用于使用ASP.NET Core Razor + JQuery Ajax的项目,喜欢玩前后端分离的同学可以酌情参考,但希望不要对XSRF/CSRF掉以轻心,更不要不做处理. Antiforgery Token 介绍 跨站点请求伪造(XSRF/CSRF)攻击跟浏览器中登录验证之后保存的Cookie有关,恶意站点通过向攻击目标站点发起非法请求时,…
KindEditor使用JavaScript编写,可以无缝的于Java..NET.PHP.ASP等程序接合. KindEditor非常适合在CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一. 然而很多人缺为在Asp.Net Core中的使用在发愁,于是这个开源Demo就这样产生了,那么我现在给各位介绍下它的快速使用吧! 一.前端配置…
一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaopengfei/p/10340434.html,由于在Core版本中,MVC和WebApi已经合并,所以在该章节中介绍Asp.Net Core中的跨域解决方案. 2. 背景 浏览器出于安全性考虑,禁止在网页上发出请求到不同的域的web页面进行请求,此限制称为同域策略. 同域策略可阻止恶意站点读取另一个站…
原文:探索ASP.Net Core 3.0系列二:聊聊ASP.Net Core 3.0 中的Startup.cs 前言:.NET Core 3.0 SDK包含比以前版本更多的现成模板. 在本文中,我将比较ASP.NET Core 3应用程序使用的一些不同模板,并查看一些用于ASP.NET Core 3.0中的服务和中间件配置新的帮助方法. 翻译: Andrew Lock   https://andrewlock.net/comparing-startup-between-the-asp-net-…
前言: 上一篇文章中简单的对gRPC进行了简单了解,并实现了gRPC在ASP.NET Core中服务实现.客户端调用:那么本篇继续对gRPC的4中服务方法定义.其他使用注意点进一步了解学习 一.gRPC的4类服务方法 简单 RPC(一元方法):客户端向服务器发送单个请求并获得单个响应,就像普通的函数调用一样. 示例: rpc UnaryCall(ExampleRequest) returns (ExampleResponse) {} 服务器端流式 RPC: 客户端发送请求到服务器,拿到一个流去读…
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 四.创建一个Blazor应用程序 1. 第一种创建Blazor应用程序的方式.在Visual Studio 2022启动界面中选择"创建新项目",如下图. 图2-5 2. 第二种创建Blazor应用程序的方式是.在Visual Studio 2022启动界面中选择"继续但无需代码",然后在Visual Studio…
原文:Configuration 作者:Steve Smith.Daniel Roth 翻译:刘怡(AlexLEWIS) 校对:孟帅洋(书缘) ASP.NET Core 支持多种配置选项.应用程序配置数据内建支持读取 JSON.XML 和 INI 格式的配置文件和环境变量.你也可以编写自己的自定义配置提供程序. 章节: 获取和设置配置 使用内建提供程序 使用选项和配置对象 编写自定义提供程序 总结 访问或下载样例代码 获取和设置配置 ASP.NET Core 配置系统针对以前的 ASP.NET…
1.URL生成 MVC应用程序可以使用路由的URL生成功能,生成指向操作(Action)的URL链接. IUrlHelper 接口用于生成URL,是MVC与路由之间的基础部分.在控制器.视图和视图组件中,可通过Url属性找到IUrlHelper的实例.在此示例中,将通过Controller.Url属性使用IUrlHelper接口来生成指向另一项操作的URL. public class HomeController : Controller { public IActionResult Index…
在上一章中主要和大家分享在MVC当中如何使用ASP.NET Core内置的DI进行批量依赖注入,本章将继续和大家分享在ASP.NET Core中如何使用Autofac替换自带DI进行批量依赖注入. PS:本章将主要采用构造函数注入的方式,下一章将继续分享如何使之能够同时支持属性注入的方式. 约定: 1.仓储层接口都以“I”开头,以“Repository”结尾.仓储层实现都以“Repository”结尾. 2.服务层接口都以“I”开头,以“Service”结尾.服务层实现都以“Service”结尾…
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 ASP.NET Core 认证中会使用到的中间件,还有Authentication的一些零碎知识点,这些知识点对于 ASP.NET 认证体系的理解至关重要. 在 Github 中 ASP.NET Core 关于 Authentication 的实现有以下几个包,那么这几个包的功能分别是干什么用的呢?我…
ASP.NET Core在启动以及后续针对每个请求的处理过程中的各个环节都需要相应的组件提供相应的服务,为了方便对这些组件进行定制,ASP.NET通过定义接口的方式对它们进行了"标准化",我们将这些标准化的组件称为服务,ASP.NET在内部专门维护了一个DI容器来提供所需的服务.要了解这个DI容器以及现实其中的服务提供机制,我们先得知道什么是DI(Dependence Injection),而一旦我们提到DI,又不得不说IoC(Inverse of Control). 目录一.流程控制…
IoC主要体现了这样一种设计思想:通过将一组通用流程的控制从应用转移到框架之中以实现对流程的复用,同时采用"好莱坞原则"是应用程序以被动的方式实现对流程的定制.我们可以采用若干设计模式以不同的方式实现IoC,比如我们在上面介绍的模板方法.工厂方法和抽象工厂,接下来我们介绍一种更为有价值的IoC模式,即依赖注入(DI:Dependency Injection,以下简称DI). 目录一.由外部容器提供服务对象二.三种依赖注入方式    构造器注入    属性注入    方法注入三.实例演示…
在采用了依赖注入的应用中,我们总是直接利用DI容器直接获取所需的服务实例,换句话说,DI容器起到了一个服务提供者的角色,它能够根据我们提供的服务描述信息提供一个可用的服务对象.ASP.NET Core中的DI容器体现为一个实现了IServiceProvider接口的对象. ServiceProvider与ServiceDescriptor服务的注册与提供    利用ServiceProvider来提供服务    提供一个服务实例的集合    获取ServiceProvider自身对象    对泛…
ServiceProvider最终提供的服务实例都是根据对应的ServiceDescriptor创建的,对于一个具体的ServiceDescriptor对象来说,如果它的ImplementationInstance和ImplementationFactory属性均为Null,那么ServiceProvider最终会利用其ImplementationType属性返回的真实类型选择一个适合的构造函数来创建最终的服务实例.我们知道服务服务的真实类型可以定义了多个构造函数,那么ServiceProvid…
本文转自:http://www.qingruanit.net/c_all/article_6645.html 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 ASP.NET Core 认证中会使用到的中间件,还有Authentication的一些零碎知识点,这些知识点对于 ASP.NET 认证体系的理解至关重要. 在 Github 中 ASP.NET C…