首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
IConfiguration扩展
2024-09-03
给IConfiguration写一个GetAppSetting扩展方法
给 IConfiguration 写一个 GetAppSetting 扩展方法 Intro 在 .net core 中,微软已经默认使用 appsettings.json 来代替 app.config,并重新设计了一套完整的配置系统,可以支持 json/xml/ini/环境变量等. 在 .net core 中有一个 GetConnectionString 的扩展方法用来比较方便的获取链接字符串,类似于在 .net framework 中使用 ConfigurationManager.Connec
CKFinder 自定义文件路径扩展ConfigurationPathBuilder
CKFinder 自定义文件路径扩展ConfigurationPathBuilder 打开config.xml当中可以看到如下配置 <basePathBuilderImpl>com.ckfinder.connector.configuration.ConfigurationPathBuilder</basePathBuilderImpl> 打开这个类的源代码 /* * CKFinder * ======== * http://cksource.com/ckfinder * Copy
.Net Core 扩展使用Refit
.Net Core 扩展使用Refit 标签(空格分隔): 未分类 在.net core 2.1当中,目前可以是用HttpClientFactory进行Http的调用,它的使用方法我不再多说,具体参见(https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.2#consumption-patterns).微软的官网写的非常详细了. 在调用过程中使用Refit可以进行强类型的
第四节:配置的读取、StartUp类、内置依赖注入和扩展改造
一. 配置的读取 在Asp.Net Core中,有一个 appsettings.json 文件,用于存储相应的配置信息,读取的时,要通过构造函数注入:IConfiguration Configuration,来进行读取. 下面是一段配置文件,我们来对其进行读取: 读取代码: public IConfiguration Configuration { get; } public FirstController(IConfiguration configuration) { Configuratio
扩展gRPC支持consul服务发现和Polly策略
gRPC由于需要用工具生成代码实现,可开发性不是很高,在扩展这方面不是很友好 最近研究了下,进行了扩展,不需要额外的工具生成,直接使用默认Grpc.Tools生成的代理类即可 相关源码在文章底部 客户端目标: 能配置consul地址和服务名称,在调用client时能正确请求到真实的服务地址 在调用方法时,能使用Polly策略重试,超时,和熔断 查看gRPC生成的代码,可以看到Client实例化有有两个构造方法,以测试为例 /// <summary>Creates a new client fo
【半译】扩展shutdown超时设置以保证IHostedService正常关闭
我最近发现一个问题,当应用程序关闭时,我们的应用程序没有正确执行在IHostedService中的StopAsync方法.经过反复验证发现,这是由于某些服务对关闭信号做出响应所需的时间太长导致的.在这篇文章中,我将展示出现这个问题的一个示例,并且会讨论它为什么会发生以及如何避免这种情况出现. 作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/12952977.html 英文地址:https://andrewlock.net/extending-the-s
源码解析.Net中IConfiguration配置的实现
前言 关于IConfituration的使用,我觉得大部分人都已经比较熟悉了,如果不熟悉的可以看这里.因为本篇不准备讲IConfiguration都是怎么使用的,但是在源码部分的解读,网上资源相对少一点,所以本篇准备着重源码这一块的设计,尽量的让读者能够理解它的内部实现. IConfiguration类之间的关系 这里我整理了一个UML(可能不是那么标准,一些依赖关系没有体现).可能直接看会有点不懂,下面我会慢慢讲这些东西. 源码解析 我们知道.net中的配置加载是有优先级的,如果有相同的key
Dapper的封装、二次封装、官方扩展包封装,以及ADO.NET原生封装
前几天偶然看到了dapper,由于以前没有用过,只用过ef core,稍微看了一下,然后写了一些简单的可复用的封装. Dapper的用法比较接近ADO.NET所以性能也是比较快.所以我们先来看看使用ADO.NET的时候我们怎么实现代码复用的封装. 一.ADO.NET的封装案例 利用反射对ADO.NET进行封装,看代码: DBHelper.cs:这边用的是mysql,如果要用sqlserver将MySqlConnection换成SqlConnection即可. 这个写的比较简单,如果有复杂的sql
配置IConfiguration
前言 配置是我们必不可少的功能,我们在开发中,经常会遇到需要获取配置信息的需求,那么如何才能优雅的获取配置信息? 我们希望新的配置: 支持强类型 配置变更后通知 学习难度低 快速入门 根据使用场景我们将配置分为本地配置以及远程配置,下面我们就来看一下本地配置与远程配置是如何来使用的? 安装.Net 6.0 本地配置 新建ASP.NET Core 空项目Assignment.MasaConfiguration,并安装Masa.Contrib.Configuration dotnet new web
Asp.net Boilerplate之AbpSession扩展
当前Abp版本1.2,项目类型为MVC5. 以属性的形式扩展AbpSession,并在"记住我"后,下次自动登录也能获取到扩展属性的值,版权归"角落的白板报"所有! step1.添加IAbpSessionExtensions接口: /// <summary> /// IAbpSession Extensions 登录时"记住我"保存Cookie,也就是说关闭后再打开不重新登录的话,取得到值. /// </summary>
恢复SQL Server被误删除的数据(再扩展)
恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的恢复 这个是一个缺陷,本人决定对这个存储过程扩展一下,支持对log backup文件里的delete语句进行恢复 实验步骤 1.首先先准备好测试表和测试语句 USE [sss] GO --建表 CREATE TABLE testdelete ( id , ) NOT NULL PRIMARY KEY , NA
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到Map.不过当业务逻辑比较复杂的时候,有时候我们可能希望根据情况的不同使用特殊的一组中间件来处理HttpContext.这种情况下如果只用一条管道,处理起来会非常麻烦和混乱.此时就可以使用Map/MapWhen建立一个分支管道,当条件符合我们的设定时,由这个分支管道来处理HttpContext.使用
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除了直接用ApplicationBuilder的Use()方法注册中间件外,还可以使用ApplicationBuilder的扩展方法UseMiddleware()注册中间件.这种情况下可以注册类型,这个方法会通过反射解析这个类型,并把它包装成Func<ReuqestDelegate,RequestDe
采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
前言 Entity Framework 延伸系列目录 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这是一个对Entity Framework进行扩展的类库. 完全支持EF 5.0/6.0+, GitHub地址 https://github.com/loresoft/EntityFramework.Extended, 最后一次更新是在2015/07/10 这个库支持批量更新,删除.查询结果缓存和审计
Dapper扩展之~~~Dapper.Contrib
平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示 官方地址:https://github.com/StackExchange/dapper-dot-net/tree/master/Dapper.Contrib 实战案例:https://github.com/dunitian/LoTCode/tr
ExtJS 4.2 Date组件扩展:添加清除按钮
ExtJS中除了提供丰富的组件外,我们还可以扩展他的组件. 在这里,我们将在Date日期组件上添加一个[清除]按钮,用于此组件已选中值的清除. 目录 1. Date组件介绍 2. 主要代码说明 3. 代码与在线演示 1. Date组件介绍 这里的Date组件全称为 Ext.form.field.Date,为form表单一个组件. 查看Ext.form.field.Date的源代码的得知需要 Ext.picker.Date. Ext.picker.Date是一个日期选择器,包含了日期选中.渲染布局
.NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文件系统.总的来说,它们针对的都是"本地"文件,接下来我们通过自定义FileProvider构建一个"远程"文件系统,我们可以将它视为一个只读的"云盘".由于文件系统的目录结构和文件内容都是通过HTTP请求的方式读取的,所以我们将这个自定义的FileP
Hawk 6. 编译和扩展开发
Hawk是开源项目,因此任何人都可以为其贡献代码.作者也非常欢迎使用者能够扩展出更有用的插件. 编译 编译需要Visual Stuido,版本建议使用2015, 2010及以上没有经过测试,但应该可以编译. 需要安装.Net Framework 4.5 和.NET Framework 4.0 没有其他依赖项. 可能出现的编译问题 虽然在GitHub上是最新的代码,最新代码是可以成功编译的.但不能保证用户是否clone的是早期版本的代码,因此此处罗列可能的编译错误. 因为工程Hawk.csproj
为IEnumerable<T>添加RemoveAll<IEnumerable<T>>扩展方法--高性能篇
最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerable<T>>的方法,坦白的说,就是传入的参数是一个IEnumerable<T>,而不是一个T,这种情景是随时可能用到的.当然我们会轻易的发现List<T>里本身就封装了一个方法public int RemoveAll(Predicate<T> match)
Twproject Gantt开源甘特图功能扩展
1.Twproject Gantt甘特图介绍 Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CSS 皮肤等功能.更重要的是,它是免费开源的. 官网地址是:https://gantt.twproject.com/ 源码可以从github下载: 2.扩展功能一:code自动层级编码,满足wbs编码要求 工作分解结构 (WBS) 代码是项目的识别您的分级显示结构中的每个任务的唯一位置的字母数字代码.
热门专题
GridControl增加多个按钮
echarts横向柱型图
7-143 九宫格输入法 (15 分)pta
ubuntu server没有wlan0
模仿spi主机的发送程序,仿顺序操作,可以直观的显示过程
virtual box终端输入什么命令可以查看本机ip地址
mysql 生僻字4个问号
chromedriver 不加载图片
vpn ni峄乵 ph铆
ant design vue适用vue
java修改excel某个单元格,其他根据公式的格也改变
mqtt两级topic
oracle时间后面多了个.0
css图片放大用的什么属性
java new Date()得到的时间和系统时间不一样
renameto 跨文件系统
C# 抓取 sse 数据
惠普 liunx 驱动
js动态新增变量命名
WIDER FACE[11]数据集