上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 简介 .net core中有两种读取配置的方式: 通过注入IConfiguration读取配置 通过强类型的Options,通过注入来获取到配置对象。 Options类的命名规则:{Object}Options 建议使用强类型的Options,这样在你想获取某个配置时,只需要注入对应的Options 阅读全文
posted @ 2021-01-11 00:17 .Neterr 阅读(1482) 评论(0) 推荐(0) 编辑
摘要: 简介 简单说,就是将对象的创建和销毁工作交给DI容器来进行,调用方只需要接收注入的对象实例即可。 涉及到的nuget包: Microsoft.Extensions.DependencyInjection.Abstractions:抽象定义; Microsoft.Extensions.Dependen 阅读全文
posted @ 2021-01-10 19:52 .Neterr 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 简介 微软官方的开源项目eShopOnContainers中,用到了一个实现中介者模式的类库:MediatR。 他是一个低调的类库,致力于解决一个简单的问题:解耦进程内消息的发送与处理。 中介者模式的定义为:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互应用,从而使其耦合松散, 阅读全文
posted @ 2021-01-05 17:27 .Neterr 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 简介 CAP 是一个EventBus,同时也是一个在微服务或者SOA系统中解决分布式事务问题的一个框架。它有助于创建可扩展,可靠并且易于更改的微服务系统。 分布式事务是在分布式系统中不可避免的一个硬性需求,CAP 没有采用两阶段提交(2PC)这种事务机制,而是采用的 本地消息表+MQ 这种经典的实现 阅读全文
posted @ 2021-01-04 23:43 .Neterr 阅读(1301) 评论(0) 推荐(1) 编辑
摘要: # 概述 聚合查询,它是在搜索的结果上,提供的一些聚合数据信息的方法。比如:求和、最大值、平均数等。 #### 基本语法 ``` GET /_search { "aggs": { "": { // 聚合名称需要自己定义 "": { "field": "" } } } } ``` aggs_name: 阅读全文
posted @ 2021-01-02 00:06 .Neterr 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 文本分析器(Text analysis) 在ES当中,只有text类型的字段才会用到全文索引。 我们在建立索引和搜索时,都会用的分析器。 分析器使ES支持全文索引,搜索的结果是和你搜索的内容相关的,而不是你搜索内容的确切匹配。 分析器之所以能够使搜索支持全文索引,都是因为有分词器(tokenizat 阅读全文
posted @ 2021-01-01 16:38 .Neterr 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 简介 查询有两种方式: QueryString查询 通过query参数传递查询语句(?q=name:zhangsan) DSL查询 通过DSL语句查询,可以写出灵活复杂的查询语句,语言以json请求体的形式出现 查询响应信息说明 { "took" : 346, // 整个检索消耗的时间, 单位是毫秒 阅读全文
posted @ 2021-01-01 09:49 .Neterr 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 添加文档: 添加单个文档 POST index1/user/1000 { "id":1001, "name":"张三", "age":20, "sex":"男" } 如果不指定id,将随机生成一个,id的字段名是_id 删除文档: 删除指定id的文档 DELETE /blog/article2/1 阅读全文
posted @ 2020-12-27 19:52 .Neterr 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 概念 Mapping(映射)用来定义文档包含的字段名、字段数据类型以及文档如何存储和索引这些字段的规则 显式映射 & 动态映射 显式映射 显式映射以完全控制字段的存储和索引方式。 显式映射的意义: 哪些字符串字段应该作为全文字段(text)处理。 哪些字段包含数字、日期或地理位置。 日期值的格式。 阅读全文
posted @ 2020-12-21 21:00 .Neterr 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 索引 查看全部索引 GET _cat/indices?v&pretty health:当前服务器健康状态: green(集群完整) yellow(单点正常、集群不完整) red(单点不正常) status:索引打开、关闭状态 index:索引名 uuid:索引统一编号 pri:主分片数量 rep:副 阅读全文
posted @ 2020-12-20 11:28 .Neterr 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 参考: https://blog.csdn.net/u010476739/article/details/118339679 https://www.cnblogs.com/wuxiaoqian726/archive/2011/03/19/1988931.html 先说下结论: 如果系统不考虑全球化 阅读全文
posted @ 2020-12-16 19:32 .Neterr 阅读(4257) 评论(0) 推荐(3) 编辑
摘要: 概述 授权就是某人针对某个资源可以做什么操作。 某人:登录系统的用户 资源:可以任何形式的资源,比如订单、产品、页面...。权限判断中不一定需要资源的参与,比如只要用户登录,就允许使用系统中所有功能。此时整个系统就是资源,允许所有操作。 操作:比如查看、审核、新增、修改... dotnet core 阅读全文
posted @ 2020-12-14 20:52 .Neterr 阅读(1207) 评论(0) 推荐(1) 编辑
摘要: 简介 .netcore中的配置模块可以将你的配置文件自动读取成一个树状结构(逻辑上是树状,实际上是扁平化的),这样你就可以方便快捷的获取配置数据了。 可使用多种类型数据源(json、内存、xml、ini、command、env...),还可以自定义配置源; 支持多环境版本、如果多次添加相同的配置,后 阅读全文
posted @ 2020-12-09 21:45 .Neterr 阅读(2958) 评论(0) 推荐(3) 编辑
摘要: 接口的默认实现 实现类中可以不实现接口中有默认实现的方法,以下代码不报错 public interface IPerson { void Say() { Console.WriteLine("hello"); } } public class Teacher:IPerson { } 但是不可以通过实 阅读全文
posted @ 2020-12-08 22:34 .Neterr 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 介绍 早期路由系统 .NET Core2.2之前的框架中,中间件管道的结尾有一个Router中间件,也就是路由中间件,这个路由中间件会把HTTP请求和路由数据发送给MVC的一个组件,它叫做MVC Router Handler。 这个MVC 路由 Handler就会使用这些路由数据来决定哪个Contr 阅读全文
posted @ 2020-12-08 22:20 .Neterr 阅读(814) 评论(1) 推荐(4) 编辑
摘要: 概念 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。门面模式又称为外观模式,它是一种对象结构型模式 何时使用 当子系统比较复杂,我们提供一个统一的对外接口用于简化子系统调用,比如项目中每个 阅读全文
posted @ 2020-11-30 10:50 .Neterr 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 观察者模式用于解耦调用者与被调用者,项目中用的EventBus是观察者模式的实现 详细代码在这里:https://www.cnblogs.com/fanfan-90/p/11971178.html 阅读全文
posted @ 2020-11-30 10:27 .Neterr 阅读(82) 评论(0) 推荐(0) 编辑
摘要: Set数据类型 Api (1).SetAdd:添加数据,可以单独1个key-1个value,也可以1个key-多个value添加 (2).SetLength:求key集合的数量 (3).SetContains:判断key集合中是否包含指定值 (4).SetRandomMember:随机获取指定key 阅读全文
posted @ 2020-11-25 21:51 .Neterr 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: APP、前后端分离、后端项目之间调用都涉及接口调用,传输的时候如何防止被抓包、偷窥、伪造、超时、重放 解决方案: token授权认证,防止未授权用户获取数据 时间戳,防止超时重放 签名,防止数据篡改 HTTPS,防止数据明文传输 Token: 就是一个经过加密或签名的临时令牌,需要设置过期时间,每次 阅读全文
posted @ 2020-11-25 20:14 .Neterr 阅读(421) 评论(0) 推荐(0) 编辑
摘要: dotnet cli (Command-Line Interface) .net 源代码和二进制文件管理工具。需要安装 .NET Core SDK。 终端执行 dotnet --info 可以打印出有关 .NET Core 安装和计算机环境的详细信息。 命令: 查看版本 dotnet --versi 阅读全文
posted @ 2020-11-22 02:27 .Neterr 阅读(1886) 评论(0) 推荐(0) 编辑
摘要: 设置vs支持调试源码 调试-选项-调试-常规 调试-选项-调试-符号 查看dll路径以及符号加载情况: 调试-窗口-模块 .NET Core源码: https://github.com/dotnet/aspnetcore 阅读全文
posted @ 2020-11-09 15:49 .Neterr 阅读(234) 评论(0) 推荐(0) 编辑
摘要: CodeTemplate(模板声明标签) 创建好一个模板后第一步要指明这是一个C#语言的模板 <%@ CodeTemplate Language="C#" TargetLanguage="C#" Description="Generates a class including a special i 阅读全文
posted @ 2020-11-08 23:38 .Neterr 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 介绍 NuGet是.NET的软件包管理器。NuGet Gallery 是所有软件包作者和消费者都使用的中央软件包存储库。 简单来说,nuget包解决了dll引用的问题,开发者可以通过打包,然后发布到公有主机或者私有主机上,供其他开发者使用。可以大大的提高创建一个.NET应用的效率。 修改Nuget包 阅读全文
posted @ 2020-11-07 17:13 .Neterr 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 属性 程序集特性 .NET Core 2.1之前程序集特性存储在AssemblyInfo 文件中,2.1开始程序集特性移到MSBuild属性中 | 属性 | Property | 要禁用的属性 | | | | | | AssemblyCompanyAttribute | Company | Gene 阅读全文
posted @ 2020-11-07 17:07 .Neterr 阅读(91) 评论(0) 推荐(0) 编辑
摘要: IFileProvider File Providers是文件系统之上的一层抽象。它的主要接口是IFileProvider,IFileProvider对象为我们构建了一个具有层次化目录结构的文件系统。由于IFileProvider是一个接口,所以由它构建的是一个抽象化的文件系统,这里所谓的目录和文件 阅读全文
posted @ 2020-11-07 12:52 .Neterr 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 先看效果: string js = @"var a=1 alert(a);//注释1 alert(a);/*注释2*/"; string result = PackBus.PackJavascript(js).Replace("\n", "\r\n"); result: eval(function( 阅读全文
posted @ 2020-11-02 14:32 .Neterr 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,生成项目时会把Views的视图文件编译成dll*.Views.dll 同时我们也看不到Views文件夹,如果有频繁修改视图内容的需求,这样就很不方便 我们可以将视图预编译改为运行时编译 1、添加Nuget: <PackageReference Include="Microsoft.Asp 阅读全文
posted @ 2020-11-02 13:20 .Neterr 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 源代码的动态编译问题,我们知道这个可以利用Roslyn来解决。 实现一个编译助手类,它的Compile方法将会对参数sourceCode提供的源代码进行编译。该方法返回源代码动态编译生成的程序集,它的第二个参数代表引用的程序集。 添加Nuget包: <PackageReference Include 阅读全文
posted @ 2020-10-30 16:24 .Neterr 阅读(2031) 评论(0) 推荐(1) 编辑
摘要: WebMarkupMin可以做什么: 运行时最小化html、css、js(去除空格、注释...) 对HTTP启用压缩(GZip、Deflate、Brotli..) 使用步骤: 添加Nuget包: <PackageReference Include="WebMarkupMin.AspNet.Brotl 阅读全文
posted @ 2020-10-29 13:56 .Neterr 阅读(538) 评论(0) 推荐(1) 编辑
摘要: 一、前言 源码 1、最近一直在看项目性能优化方式,俗话说的好项目优化第一步那当然是添加缓存,我们的项目之所以卡的和鬼一样,要么就是你的代码循环查询数据库(这个之前在我们的项目中经常出现,现在慢慢在修正)或者代码做了很多不该做的事情。这个时候就可以引入我们的缓存了。(只要你的代码不是写的特别差,比如之 阅读全文
posted @ 2020-10-28 16:28 .Neterr 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 今天在工作上遇到这么个需求:需要获取对象上所有属性的值,但并事先并不知道对象的类型。 我的第一反应就是使用反射,但是这个操作会进行多次,大量的反射肯定会有性能影响。虽然对我这个项目无关紧要,但我还是选择了另外一种解决方案:构建表达式树,再生成委托,然后将委托缓存在字典里。代码如下: 首先构建表达式树 阅读全文
posted @ 2020-10-25 17:14 .Neterr 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 介绍 ContractResolver能做什么: 为属性添加一些序列化设置 自定义属性名 有选择的序列化属性 CamelCasePropertyNamesContractResolver Newtonsoft提供了CamelCasePropertyNamesContractResolver,继承自C 阅读全文
posted @ 2020-10-25 11:34 .Neterr 阅读(3879) 评论(0) 推荐(2) 编辑
摘要: 通常的序列化与反序列化中的json结构与c#中的类模型结构是相对应的,我们是否可以在序列化一个对象时候,让我们json的数据结构能按照自己的意愿,而不必与该对象的数据结构一样呢?,比如说,一个对象,只有一个名为"ID"的int类型的属性,值为1,如果序列化该对象,则能得到json:{"ID":1}, 阅读全文
posted @ 2020-10-23 23:57 .Neterr 阅读(7524) 评论(0) 推荐(0) 编辑
摘要: 一、JSON使用JsonPropertyAttribute重命名属性名 [JsonProperty("name")] 二、JSON使用JsonPropertyAttribute序列化升序排序属性 [JsonProperty(Order=4)] 三、反序列化属性时,Required指定属性性质 指定其 阅读全文
posted @ 2020-10-23 22:50 .Neterr 阅读(2117) 评论(0) 推荐(0) 编辑
摘要: 序列化设置的几种方式: 全局序列化:(在之后使用JsonConvert进行序列化时都有效) JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => { Newtonsoft.Json.JsonSerializerSet 阅读全文
posted @ 2020-10-22 22:43 .Neterr 阅读(391) 评论(0) 推荐(0) 编辑
摘要: Task(任务) 任务是 MSBuild 真正要执行的东西,例如编译、打包和下载文件等等任务,可以由我们自行用 C# 或者 VB.NET 等语言实现。 关于任务的编写,我们将在以后进行介绍,这里只简单介绍一下任务的使用。 MSBuild 也内置了很多任务,例如 Message 用来打印信息、Warn 阅读全文
posted @ 2020-10-17 17:48 .Neterr 阅读(438) 评论(0) 推荐(0) 编辑
摘要: MSBuild MSBuild是在.NET 2.0中引入的针对Visual Studio的构建系统。它可以执行构建脚本,完成各种Task——最主要的是把.NET项目编译成可执行文件或者DLL。从技术角度来说,制作EXE或者DLL的重要工作是由编译器(csc,vbc等等)完成的。MSBuild会从内部 阅读全文
posted @ 2020-10-17 16:16 .Neterr 阅读(1035) 评论(0) 推荐(1) 编辑
摘要: IContainer是通过ContainerBuilder.Build()方法创建的,由于Autofac有限制,Build()方法只能调用一次,所以我们不能直接通过Build()创建IContainer。 Autofac提供了以下方式可以获取Icontainer: public class Glob 阅读全文
posted @ 2020-10-14 15:00 .Neterr 阅读(1224) 评论(0) 推荐(0) 编辑
摘要: 如果publish、Subscribe所用的Message不是同一类型如何处理? 替换组件ITypeNameSerializer 1、下面这个类是从Easynetq源码中拷出来的,主要包含两个方法Serialize、Deserialize 由于这两个方法不是虚方法,所以不能重写,我们把源码拷出来,把 阅读全文
posted @ 2020-10-14 13:34 .Neterr 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: AsnyncLocal与ThreadLocal都是存储线程上下文的变量,但是,在实际使用过程中两者又有区别主要的表现在: AsyncLocal变量可以在父子线程中传递,创建子线程时父线程会将自己的AsyncLocal类型的上下文变量赋值到子线程中,但是,当子线程改变线程上下文中AsnycLocal变 阅读全文
posted @ 2020-10-10 16:18 .Neterr 阅读(451) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页