大多数情况下,大家使用的生成 JWT Token 代码是这样的: // 定义用户信息 var claims = new Claim[] { new Claim(ClaimTypes.Name, u[......]继续阅读
大多数情况下,大家使用的生成 JWT Token 代码是这样的: // 定义用户信息 var claims = new Claim[] { new Claim(ClaimTypes.Name, u[......]继续阅读
ASP.NET Core Response.Body 默认是 HttpResponseStream,其主要特征是只能追加写,不能读取也不能修改。 所以最根本方法是替换 HttpResponseStream。 随便设置一个中间件,或者将 HttpContext 拿出来,定义变量 context。 替[......] 继续阅读
public class TestNoopHostLifetime : IHostLifetime { public Task StopAsync(CancellationToken cancellationToken) { C[......]继续阅读
public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder[......]继续阅读
包: Microsoft.AspNetCore.Mvc.Testing Microsoft.AspNetCore.TestHost Moq 集成测试可在包含应用支持基础结构(如数据库、文件系统和网络)的级别上确保应用组件功能正常。 ASP.NET Core 通过将单元测试框架与测试 Web 主机和内[......] 继续阅读
继承 IActionResult: public class ResponseResult<TData> : IActionResult { /// <summary> /// 状态码 /// </summ[......]继续阅读
全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsync[......]继续阅读
中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using Syst[......]继续阅读
在 ControllerBase 中,其 HttpContext 的默认为空。 这些属性依赖于 ControllerContext。 当然我们也可以注入 IHttpContextAccessor,在每个控制器的构造函数中写进去,比较麻烦。我可以统一通过 控制器激活器进行统一注入。 ///[......]继续阅读
在后端中,当有分布式需求时,我们常常使用 64位 的数字类型表示字段类型,但是前端并不支持超过 16 位长度的数值类型,所以后端长度较大的 long、ulong 数值传到后端,其准确度就已经丢失。 解决方法就是将 ulong、long 转为字符串,传递给后端。 public class Te[......]继续阅读
.NET Core 中的日志与分布式链路追踪 .NET Core 中的日志 控制台输出 非侵入式日志 Microsoft.Extensions.Logging ILoggerFactory ILoggerProvider ILogger Logging Providers 怎么使用 日志等级[......] 继续阅读
ASP.NET Core 中的策略授权 策略 定义一个 Controller 设定权限 定义策略 存储用户信息 标记访问权限 认证:Token 凭据 颁发登录凭据 自定义授权 IAuthorizationService ABP 授权 创建 ABP 应用 定义权限 Github 仓库源码[......] 继续阅读
首先要了解 ASP.NET Core 中的配置,请点击这里了解:https://www.cnblogs.com/whuanle/p/13061059.html 1,选项接口 ASP.NET Core 中的选项接口,一共有三个,分别是: IOptions<TOptions> IOptio[......] 继续阅读
ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。 主要分为三部:配置数据源 -> ConfigurationBuilder -> 使用。 数据源可来自字典或配置文件。 数据源要么继承 IConfigurationSource ,要么从配置文件[......] 继续阅读
Blazor事件分类 Blazor 触发方式 HTML标准事件分类 1)Window 事件属性 2)表单事件 3)键盘事件 4)鼠标事件 5)媒介事件 Blazor 事件分类 Blazor 组件中, HTML 元素可以触发事件,使用 @on{事件名} 格式绑定触发的事件。 @on{}是触发[......] 继续阅读
目录 关于组件 组件类 静态资产 路由与路由参数 组件参数 请勿创建会写入其自己的组参数属性的组件 子内容 属性展开 任意参数 捕获对组件的引用 在外部调用组件方法以更新状态 使用 @ 键控制是否保留元素和组件 [......] 继续阅读
public IConfigurationRoot Config { get; } = new ConfigurationBuilder() .SetBasePath(System.IO.Path.Combine(System.IO.Directory[......]继续阅读
Startup 中,添加一个变量 readonly string ganweiCosr = "AllowSpecificOrigins"; Startup.ConfigureServices 中,添加服务 #if CORS services[......]继续阅读
[TOC] 1,快速实现授权验证 什么是 JWT ?为什么要用 JWT ?JWT 的组成? 这些百度可以直接找到,这里不再赘述。 实际上,只需要知道 JWT 认证模式是使用一段 Token 作为认证依据的手段。 我们看一下 Postman 设置 Token 的位置。 那么,如何使用 C# 的 Ht[......] 继续阅读
分析器名为 miniprofiler,官网地址为 https://miniprofiler.com/dotnet/ 可以直接放到代码中,发布后运行测试。 支持以下框架的性能分析: ASP.NET ASP.NET Core Console .NET Console .NET Core EF6 EF[......] 继续阅读