随笔分类 -  .net

摘要:使用Claude Code分析了开源框架netcorepal-cloud-framework的集成测试部分,并出具了搭建教程。方便日后开发时搭建 TestContainers初学者详细教程 (SQL Server版本) 从零开始学习容器化测试,包含详细的概念解释和实践指导 📚 目录 基础概念讲解 阅读全文
posted @ 2025-08-24 23:30 南山有榛 阅读(31) 评论(0) 推荐(0)
摘要:起因 自从接触到了导航属性这一概念后,我在Coding时遇到子实体,都会倾向于使用并添加Include,所以一直以为Include就是用来连接父子实体的。于是便出现了这种代码: await _db.Blogs.Where(m => !m.IsDel) .Include(m => m.Posts.Wh 阅读全文
posted @ 2025-08-15 15:38 南山有榛 阅读(119) 评论(0) 推荐(0)
摘要:集成DelegatingHandler类,实现SendAsync方法即可将自定义逻辑注入到HTTP请求和响应处理管道中。 第一步:实现自定义拦截逻辑 以下拦截器实现了当请求发生异常时,记录异常信息到日志文件的功能 /// <summary> /// 自定义的 HttpMessageHandler,用 阅读全文
posted @ 2025-04-16 22:47 南山有榛 阅读(141) 评论(0) 推荐(0)
摘要:Panel 对其他控件进行分组,可添加滚动条 重要属性: AutoScroll:是否自动显示滚动条 BorderStyle:边框样式 // 动态向Panel中添加按钮 private void Form1_Load(object sender, EventArgs e) { Panel panel 阅读全文
posted @ 2025-03-22 22:52 南山有榛 阅读(41) 评论(0) 推荐(0)
摘要:作用 在指定时间间隔出发事件。一般用于更新UI、执行后台任务。 重要属性 Interval:间隔,单位毫秒 Enabled:是否启动定时器 事件 Tick:每隔Interval时间触发一次 特点 事件在UI线程执行,可直接更新页面控件。 精度低,处理耗时任务会影响下次触发 简单易用 示例 priva 阅读全文
posted @ 2025-03-22 22:40 南山有榛 阅读(52) 评论(0) 推荐(0)
摘要:引言 微服务架构下, 服务间调用复杂度提升. 因为我们的某一个服务可能并非一个实例, 这会导致一系列问题产生. 服务如何发现? 在微服务架构中, 通常我们会使用容器管理服务, 以便其动态扩\缩容. 而这样的状态下,服务的套接字是变化的. 假设我们有两个微服务ServiceA和ServiceB, A将 阅读全文
posted @ 2025-03-20 10:39 南山有榛 阅读(24) 评论(0) 推荐(0)
摘要:待学习,官网: https://masstransit.io/documentation/concepts/messages 阅读全文
posted @ 2025-03-19 09:19 南山有榛 阅读(15) 评论(0) 推荐(0)
摘要:Ocelot是什么 Ocelot是一个开源的API网关库,主要用于在微服务架构中统一管理API请求。 能做什么 路由转发 在微服务架构中,一个系统是由多个微服务组成的,而每个服务由独立的API。如果客户端直接调用这些服务,会面临地址混乱、权限管理复杂等问题。而Ocelot可以做到所有的外部请求先经过 阅读全文
posted @ 2025-03-18 23:18 南山有榛 阅读(167) 评论(0) 推荐(0)
摘要:DynamicExpressionParser.ParseLambda接收一个字符串类型的表达式,将其转换为delegate string dynamicExpression = "new string[] {\"0001\", \"0002\", \"0003\"}.Contains(m)"; v 阅读全文
posted @ 2025-03-18 14:32 南山有榛 阅读(154) 评论(0) 推荐(0)
摘要:起因 某些业务,组装的表达式比较长,且、或、括号混杂一块难以立即理解: public async Task<List<PatientMedicineScheduleInfo>> GetPatientMedicineSchedule(string inpatientID, string hospita 阅读全文
posted @ 2025-03-06 16:39 南山有榛 阅读(20) 评论(0) 推荐(0)
摘要:用Vue做类比 Form类 ≈ Vue组件 Form是一个Class,继承自Systen.Windows.Forms.Form,就像Vue组件中组件是一个Class 每一个Form文件都继承自Form类 Form实例 ≈ 组件实例 var form = new MainForm(); form.Sh 阅读全文
posted @ 2025-03-03 21:05 南山有榛 阅读(54) 评论(0) 推荐(0)
摘要:看到一些文章说不要使用异常代替正常的控制流,对这个一直都不太清楚,随即查了下,做下笔记。 核心原则:区分预期错误(Expected Errors)和意外异常(Unexpected Exceptions) 预期错误应当显示处理:输入验证、业务规则检查等都属于预期内的错误,应该通过返回值、状态码或结果对 阅读全文
posted @ 2025-02-23 18:08 南山有榛 阅读(75) 评论(0) 推荐(0)
摘要:Program.cs .net 8.0已经内置了XML解析器,所以直接在services.AddControllers()后调用AddXmlSerializerFormatters()即可: services.AddControllers().AddXmlSerializerFormatters() 阅读全文
posted @ 2024-10-19 10:58 南山有榛 阅读(63) 评论(0) 推荐(0)