随笔分类 -  C#

摘要:ASP.NET Core通过IInputFormatter来解析输入的数据,并进行模型绑定(Model Binding);通过IOutputFormatter来解析输出的数据,来格式化响应(format response)。 两个Nuget包 谷歌提供了Google.Protobuf包用于解析Pro 阅读全文
posted @ 2022-08-08 10:40 雪飞鸿 阅读(410) 评论(0) 推荐(0) 编辑
摘要:概念说明 浏览器使用同源策略在提高了安全性的同时也会带来一些不变,常见,如:不同源间的cookie或其它数据的访问。 跨站(cross-site)与跨域(cross-origin)是两个不同的概念。之前的文章同源策略与CORS已对什么是跨域作了说明,不再赘述,本文作为对之前文章的补充,以cookie 阅读全文
posted @ 2020-11-15 21:34 雪飞鸿 阅读(6167) 评论(5) 推荐(1) 编辑
摘要:文件分类 文件分为两类:二进制文件和文本文件。所有数据在计算机中均以二进制形式存在,这里所说的二进制和文本是以程序解释文件数据的方式来区分的。 二进制文件 二进制文件中通常被看作是一个字节序列,文件中的数据会被应用程序解释为文本字符之外的东西,常见的二进制文件有:pdf、exe、图片等等。 通常,二 阅读全文
posted @ 2020-10-31 17:56 雪飞鸿 阅读(571) 评论(0) 推荐(0) 编辑
摘要:本文使用特性来描述接口而不是xml文件,使用特性可自定义接口在swaggerUI上的描述 安装nuget包:Swashbuckle.AspNetCore.SwaggerUI和Swashbuckle.AspNetCore.Annotations,配置swagger: using Microsoft.A 阅读全文
posted @ 2020-05-20 11:30 雪飞鸿 阅读(663) 评论(2) 推荐(1) 编辑
摘要:/// <summary> /// 自定义泛型可迭代类型 /// </summary> /// <example> /// This code shows how to build a instance of <see cref="SelfEnumerable"/>: /// <code> /// 阅读全文
posted @ 2020-03-31 07:12 雪飞鸿 阅读(414) 评论(0) 推荐(0) 编辑
摘要:Python文档中有一段话: Remember that arguments are passed by assignment in Python. Since assignment just creates references to objects, there’s no alias betwe 阅读全文
posted @ 2019-11-17 21:11 雪飞鸿 阅读(550) 评论(0) 推荐(0) 编辑
摘要:公司系统中有一接口访问量大,内部计算逻辑较为复杂。在优化时打算把Request中的参数做为Key,Response做为Value放到进程内缓存中,以降低服务器压力,提高接口响应速度。因为Response中一些数据时效性要求较高,所以缓存设置一个较短的过期时间(比如10s)。 但这里牵涉到一个问题,如 阅读全文
posted @ 2019-10-28 22:33 雪飞鸿 阅读(312) 评论(0) 推荐(0) 编辑
摘要:Redis中提供了原子性命令SETEX或SET来写入STRING类型数据并设置Key的过期时间: > SET key value EX 60 NX ok > SETEX key 60 value ok 但对于HASH结构则没有这样的命令,只能先写入数据然后设置过期时间: > HSET key fie 阅读全文
posted @ 2019-07-19 22:36 雪飞鸿 阅读(18456) 评论(0) 推荐(0) 编辑
摘要:ASP.NET Core MVC中视图的知识和ASP.NET MVC有很多相似之处,学习难度较低。以下内容主要体现了编程中模块化的思想,模块化才应是我们关注的重点。 Layout 布局用于提供各个页面所需的公共部分,如:菜单、页头、页尾等。在ASP.NET Core中默认的布局文件是位于/Views 阅读全文
posted @ 2019-05-18 14:51 雪飞鸿 阅读(1119) 评论(0) 推荐(4) 编辑
摘要:JAVA 定义Person类 定义Chinese类 创建Chinese类实例 输出结果如下: 执行顺序为: 基类静态初始化块——当前类静态初始化块——基类初始化块——基类构造函数——当前类初始化块——当前类构造函数 ⚠️ JAVA中加载类时会调用类的静态代码块 执行结果如下: .NET 与JAVA相 阅读全文
posted @ 2019-02-24 11:49 雪飞鸿 阅读(521) 评论(0) 推荐(1) 编辑
摘要:序列化:将对象的状态信息及类型信息,转换为一种易于传输或存储形式(流,即字节序列)的过程。 下图为序列化过程图示,图片来自微软官方文档: 反序列化:与序列化相反,将流转换为对象的过程。 常用的有二进制序列化、XML序列化及JSON序列化三种序列化方式。.NET自身提供了对二进制序列化与XML序列化的 阅读全文
posted @ 2019-01-28 16:15 雪飞鸿 阅读(3740) 评论(0) 推荐(0) 编辑
摘要:以下基于.NET Core 2.1 定义GrayLog日志记录中间件: 中间件代码: 日志记录代码: Graylog日志配置: 注册中间件到请求处理管道: 以上日志记录了如下几个方面: 日志信息Id 请求来源 请求基础信息 采用类似HTTP请求行格式,即:HttpMethod RequestUrl 阅读全文
posted @ 2019-01-08 16:33 雪飞鸿 阅读(1627) 评论(0) 推荐(6) 编辑
摘要:本文是《Clean C#》一书译文的序言,阅读译文请移步至:《Clean C#》译文。 《Clean C#》的副标题是Readable,Maintainable,Pleasurable,本书旨在提供一些编写具有良好可读性与可维护性代码的建议。虽然书名中带有C#字眼,但书中提供的经验绝不仅限于C#,也 阅读全文
posted @ 2018-10-27 17:35 雪飞鸿 阅读(605) 评论(0) 推荐(1) 编辑
摘要:中间件(Middleware)是ASP.NET Core中的一个重要特性。所谓中间件就是嵌入到应用管道中用于处理请求和响应的一段代码。ASP.NET Core Middleware可以分为两种类型: Conventional Middleware IMiddleware Conventional M 阅读全文
posted @ 2018-09-22 17:56 雪飞鸿 阅读(4919) 评论(0) 推荐(11) 编辑
摘要:团队内部若能统一代码风格对于日后的项目维护大有裨益,但面对厚达十几甚至几十页的代码风格规范,开发人员难免产生抵触心理。Python和Go等在语言层面就对代码风格作了一定的约束,但C#并没有,为解决这个问题,我们可以在VS中设置团队内部要统一采用的代码风格。 文中所用VS版本信息如下: 设置代码风格 阅读全文
posted @ 2018-08-28 16:30 雪飞鸿 阅读(4086) 评论(0) 推荐(0) 编辑
摘要:原文地址:Unit testing best practicesPS:本文未翻译原文的全部内容,以下为译文。 编写单元测试有如下好处: 利于回归测试 提供文档 改进代码设计 但是,难以阅读和维护的测试代码则会适得其反。本文会提供一些编写单元测试的最佳实践以使得你的测试代码易于维护和理解。 为什么要写 阅读全文
posted @ 2018-08-19 15:37 雪飞鸿 阅读(1463) 评论(0) 推荐(0) 编辑
摘要:用都知道的一句话概括:“引用类型在堆上,栈上只保存引用;值类型即可存放于栈上也可存放于堆上,值类型变量直接存储值本身”。 若把上述代码中的Person类型由class改为struct则会出现编译错误:Foreach iteration variable 'l' is immutable.Cannot 阅读全文
posted @ 2018-06-25 16:10 雪飞鸿 阅读(1011) 评论(0) 推荐(0) 编辑
摘要:前面写过一篇《.NET Core类库中读取配置文件》 ,当时对于.NET Core读取配置文件了解有限,这里做下补充: 配置文件内容如下: 引用Microsoft.Extensions.Configuration.Json包 还可以将文件内容映射到对象上,需额外引用Microsoft.Extensi 阅读全文
posted @ 2018-05-19 21:54 雪飞鸿 阅读(5185) 评论(0) 推荐(0) 编辑
摘要:在.NET中,常用到的池有四个:字符串拘留池、线程池 、应用程序池、数据库连接池。 字符串拘留池 在.NET中字符串是不可变对象,修改字符串变量的值会产生新的对象。为降低性能消耗及减小程序集大小,.NET提供了string interning的功能,直译过来就是字符串拘留。所谓的字符串拘留池(int 阅读全文
posted @ 2018-04-28 15:18 雪飞鸿 阅读(1993) 评论(8) 推荐(18) 编辑
摘要:最近在开发基于.NET Core的NuGet包,遇到一个问题:.NET Core中已经没有ConfigurationManager类,在类库中无法像.NET Framework那样读取App.config或Web.config(.NET Core中是appsetings.json)文件中的数据。 但 阅读全文
posted @ 2018-03-07 14:59 雪飞鸿 阅读(7001) 评论(3) 推荐(3) 编辑

点击右上角即可分享
微信分享提示