Browse Category by C#开发

谷歌浏览器下netcore登录失败问题

Introduction When you use HTTP on your Identity Server 4 enabled website, users may not login because of the changes made by Chrome in the version 8x. This occurs when you use HTTP schema in your

C#枚举中使用Flags特性

假如有类型 Show 的定义如下 十進位表示法 [Flags] enum Days { None = 0, // 0000 0000 Sunday = 1, // 0000 0001 Monday = 2, // 0000 0010 Tuesday = 4, // 0000 0100 Wednesday = 8,

.NET Core/Framework 创建委托以大幅度提高反射调用的性能

都知道反射伤性能,但不得不反射的时候又怎么办呢?当真的被问题逼迫的时候还是能找到解决办法的。 为反射得到的方法创建一个委托,此后调用此委托将能够提高近乎直接调用方法本身的性能。(当然 Emit 也能够帮助我们显著提升性能,不过直接得到可以调用的委托不是更加方便吗?) 性能对比数据 ![性能对比数据](https://cdn.jsdelivr.net/gh/

IOptions、IOptionsMonitor以及IOptionsSnapshot

背景 ASP.NET Core引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。 初学者会发现这个框架有3个主要的面向消费者的接口:IOptions、IOptionsMonitor以及IOptionsSnapshot。 这三个接口初看起来很类似,所以很容易引起困惑,什么场

ConcurrentDictionary并发字典

ConcurrentDictionary主要用于要从多个线程(或异步任务)修改字典的情景中。如果来自单个线程,则可以根据需要使用尽可能多的代码使用标准Dictionary;) 如果您查看ConcurrentDictionary上的方法,则会发现一些有趣的方法,例如TryAdd,TryGetValue,TryUpdate和TryRemove。 例如,若使用普通的Dictionary类时可能会看到

Kestrel源码分析

Kestrel是http://ASP.NET Core框架内置的默认Web Server 什么是Web Server? 根据维基百科的定义: W

.NET Core 获取 HttpContext.Current 以及 AsyncLocal 与 ThreadLocal

在 DotNetCore 当中不再像 MVC5 那样可以通过 HttpContext.Current 来获取到当前请求的上下文。 不过微软提供了一个 IHttpContextAccessor 来让我们访问当前请求的 Http 上下文,其定义 如下: namespace Microsoft.AspNetCore.Http { public interface IHttpContex

c#特性参数

可以通过反射获取这些特性然后做处理 class Program { static void Main(string[] args) { var message = new MessageData { Header="header...", Body="body....", ...