整体逻辑 ASP.NET Core gRPC 的使用很简单,服务注册和中间件只有两行代码。 var builder = WebApplication.CreateBuilder(args); // Add services to the container.[......]继续阅读

2024年4月3日 0条评论 1222点热度 0人点赞 痴者工良 阅读全文

模型类: public class Test { [JsonConverter(typeof(string))] public int Value { get; set; } } API 接口: [HttpPost("aaa")[......]继续阅读

2023年9月19日 0条评论 863点热度 0人点赞 痴者工良 阅读全文

部署 Apollo 之后,创建一个应用。 然后创建命名空间,选择 private 创建私有命名空间,选择 json 格式。 点击修改文本,填入 json 内容。 然后在 .NET 程序中引入包 <PackageReference Include="Com.Ctrip.F[......]继续阅读

2023年9月11日 0条评论 812点热度 0人点赞 痴者工良 阅读全文

首先是中间件,它决定了有时间显示哪些分组。 可以从 IApiDescriptionGroupCollectionProvider 服务中获取所有 API,然后通过 API 进行识别,检查是否有分组。 if (context.HostingEnvironment.I[......]继续阅读

2023年8月15日 0条评论 1186点热度 2人点赞 痴者工良 阅读全文

大多数情况下,大家使用的生成 JWT Token 代码是这样的: // 定义用户信息 var claims = new Claim[] { new Claim(ClaimTypes.Name, u[......]继续阅读

2023年1月13日 0条评论 1784点热度 2人点赞 痴者工良 阅读全文

ASP.NET Core Response.Body 默认是 HttpResponseStream,其主要特征是只能追加写,不能读取也不能修改。 所以最根本方法是替换 HttpResponseStream。 随便设置一个中间件,或者将 HttpContext 拿出来,定义变量 context。 替[......] 继续阅读

2022年9月30日 0条评论 1914点热度 0人点赞 痴者工良 阅读全文

public class TestNoopHostLifetime : IHostLifetime { public Task StopAsync(CancellationToken cancellationToken) { C[......]继续阅读

2022年6月24日 0条评论 2044点热度 2人点赞 痴者工良 阅读全文

public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder[......]继续阅读

2022年6月24日 0条评论 1463点热度 1人点赞 痴者工良 阅读全文

包: Microsoft.AspNetCore.Mvc.Testing Microsoft.AspNetCore.TestHost Moq 集成测试可在包含应用支持基础结构(如数据库、文件系统和网络)的级别上确保应用组件功能正常。 ASP.NET Core 通过将单元测试框架与测试 Web 主机和内[......] 继续阅读

2022年3月30日 0条评论 1598点热度 0人点赞 痴者工良 阅读全文

继承 IActionResult: public class ResponseResult<TData> : IActionResult { /// <summary> /// 状态码 /// </summ[......]继续阅读

2021年8月21日 0条评论 3473点热度 0人点赞 痴者工良 阅读全文

全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsync[......]继续阅读

2021年8月12日 0条评论 2598点热度 0人点赞 痴者工良 阅读全文

中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using Syst[......]继续阅读

2021年8月12日 0条评论 1936点热度 0人点赞 痴者工良 阅读全文

在 ControllerBase 中,其 HttpContext 的默认为空。 这些属性依赖于 ControllerContext。 当然我们也可以注入 IHttpContextAccessor,在每个控制器的构造函数中写进去,比较麻烦。我可以统一通过 控制器激活器进行统一注入。 ///[......]继续阅读

2021年7月12日 0条评论 2246点热度 0人点赞 痴者工良 阅读全文

在后端中,当有分布式需求时,我们常常使用 64位 的数字类型表示字段类型,但是前端并不支持超过 16 位长度的数值类型,所以后端长度较大的 long、ulong 数值传到后端,其准确度就已经丢失。 解决方法就是将 ulong、long 转为字符串,传递给后端。 public class Te[......]继续阅读

2021年7月12日 1条评论 3346点热度 0人点赞 痴者工良 阅读全文

.NET Core 中的日志与分布式链路追踪 .NET Core 中的日志 控制台输出 非侵入式日志 Microsoft.Extensions.Logging ILoggerFactory ILoggerProvider ILogger Logging Providers 怎么使用 日志等级[......] 继续阅读

2021年1月9日 0条评论 2202点热度 0人点赞 痴者工良 阅读全文

ASP.NET Core 中的策略授权 策略 定义一个 Controller 设定权限 定义策略 存储用户信息 标记访问权限 认证:Token 凭据 颁发登录凭据 自定义授权 IAuthorizationService ABP 授权 创建 ABP 应用 定义权限 Github 仓库源码[......] 继续阅读

2020年7月12日 1条评论 3707点热度 3人点赞 痴者工良 阅读全文

首先要了解 ASP.NET Core 中的配置,请点击这里了解:https://www.cnblogs.com/whuanle/p/13061059.html 1,选项接口 ASP.NET Core 中的选项接口,一共有三个,分别是: IOptions<TOptions> IOptio[......] 继续阅读

2020年6月7日 0条评论 2658点热度 0人点赞 痴者工良 阅读全文

ASP.NET Core 中,可以使用 ConfigurationBuilder 对象来构建。 主要分为三部:配置数据源 -> ConfigurationBuilder -> 使用。 数据源可来自字典或配置文件。 数据源要么继承 IConfigurationSource ,要么从配置文件[......] 继续阅读

2020年6月5日 1条评论 2528点热度 0人点赞 痴者工良 阅读全文

Blazor事件分类 Blazor 触发方式 HTML标准事件分类 1)Window 事件属性 2)表单事件 3)键盘事件 4)鼠标事件 5)媒介事件 Blazor 事件分类 Blazor 组件中, HTML 元素可以触发事件,使用 @on{事件名} 格式绑定触发的事件。 @on{}是触发[......] 继续阅读

2020年5月11日 0条评论 4699点热度 2人点赞 痴者工良 阅读全文

目录 关于组件 组件类 静态资产 路由与路由参数 组件参数 请勿创建会写入其自己的组参数属性的组件 子内容 属性展开 任意参数 捕获对组件的引用 在外部调用组件方法以更新状态 使用 @ 键控制是否保留元素和组件 [......] 继续阅读

2020年5月10日 0条评论 2088点热度 1人点赞 痴者工良 阅读全文