摘要:
背景 .NET 9刚刚正式发布了,如果你创建一个空的Asp.Net Core 9.0的Web API项目,启动之后,你会惊讶地发现陪伴你多年的Swagger没有了!——这是因为ASP.NET Core项目组已经将Swashbuckle.AspNetCore从.NET 9里移除了,详情看这里 [git 阅读全文
摘要:
答案是会的。 在 SQL Server 中,如果表的主键是自增(IDENTITY),当插入操作由于某种约束(如 UNIQUE 约束或 FOREIGN KEY 约束)失败时,自增的 ID 值仍会递增,即便插入失败了。 举个例子,如果当前表的自增列的值是 100,下一次插入操作尝试分配 ID 101。但 阅读全文
摘要:
.NET 8 Moq mock GetRequiredKeyedService Setup报错 项目代码里有地方用到IServiceProvider.GetRequiredKeyedService<T>来解析服务,在写单元测试时需要Mock它,本以为像下面这样写就可以了: var servicePr 阅读全文
摘要:
原本服务的地址模式是www.namespace-servicename.envname.complayname.io ,按公司新的ingress标准更新了服务之后,变成www.clustername.complayname.io/namespace/servicename, 可以看到原本服务名是在h 阅读全文
摘要:
Error details Run session could not be started:failed to connected to IDE run session notification endpoint:tls:failed to verify certificate: x509: ce 阅读全文
摘要:
中间件实现异常处理 在ASP.NET Core里,我们可以使用中间件(Middleware)实现全局的异常处理。 如内置的异常处理中间件 UseExceptionHandler app.UseExceptionHandler(appError => { appError.Run(async cont 阅读全文
摘要:
背景 最近QA测试一个我开发的一个Web API时,我意识到之前对C#的default的理解一直是想当然的。具体情况是这样,这个API在某些条件下要返回模型的默认值,写法类似于下面这样 [HttpGet(Name = "GetWeatherForecast")] public WeatherFore 阅读全文
摘要:
问题 Can not create proxy for type xxx because type xxx is not accessible. Make it public, or internal and mark your assembly with [assembly: InternalsV 阅读全文
摘要:
背景 最近在OpenSearch查看线上日志的时候,发现某个索引下有些字段无法直接在界面上筛选,搜索到也不高亮,非常的不方便,就像下面这样 字段左侧两个筛选按钮禁用了无法点击,提示 Unindexed fields can not be searched 右侧则有感叹号提示 No cached ma 阅读全文
摘要:
背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 阅读全文