08 2022 档案

摘要:参考来源:https://www.cnblogs.com/zhaoshujie/p/11082753.html 他介绍的可以说是非常详细,附带Demo例子讲解 1、入门 Task看起来像一个Thread,实际上,它是在ThreadPool的基础上进行的封装,Task的控制和扩展性很强,在线程的延续、 阅读全文
posted @ 2022-08-29 22:48 Bo-Hong 阅读(2063) 评论(0) 推荐(0) 编辑
摘要:核心 SaveChanges() “已分离”和“未改变”的实体,SaveChanges()忽略; “已添加”的实体,SaveChanges() 插入数据库; “已修改”的实体,SaveChanges() 更新到数据库; “已删除”的实体,SaveChanges() 从数据库删除 快照更改跟踪 这是E 阅读全文
posted @ 2022-08-28 14:48 Bo-Hong 阅读(218) 评论(0) 推荐(0) 编辑
摘要:原理 UPDATE [Person] SET [FirstName] = @p1 WHERE [PersonId] = @p0 AND [LastName] = @p2; 在 SaveChanges 期间捕获 DbUpdateConcurrencyException。 使用 DbUpdateConc 阅读全文
posted @ 2022-08-27 02:53 Bo-Hong 阅读(738) 评论(0) 推荐(0) 编辑
摘要:概念 高内聚 , 高内聚合Aggregate 就好比一个功能,各个模块互相是有依赖关系存在,例如: 低耦合:模块可以任意替换,不会影响系统的工作 例如:比如你今天穿了这套衣服,明天穿了另一套衣服,但你任然是你自己!不会因为你换了衣服改变 阅读全文
posted @ 2022-08-19 13:09 Bo-Hong 阅读(74) 评论(0) 推荐(0) 编辑
摘要:System.Runtime.Caching/MemoryCache ICacheEntry 接口中的属性:具体设置过期时间 可以参考:微软文档ICacheEntry 接口 缓存基本使用 (一) 绝对过期 AbsoluteExpirationRelativeToNow 绝对过期 在实际的使用中肯定是 阅读全文
posted @ 2022-08-18 17:04 Bo-Hong 阅读(943) 评论(0) 推荐(0) 编辑
摘要:未完待续! 阅读全文
posted @ 2022-08-18 17:04 Bo-Hong 阅读(5) 评论(0) 推荐(0) 编辑
摘要://瞬时生命周期 ServiceCollection services = new ServiceCollection(); services.AddTransient<TestServiceImpl>(); using (ServiceProvider sp = services.BuildSer 阅读全文
posted @ 2022-08-18 17:04 Bo-Hong 阅读(85) 评论(0) 推荐(0) 编辑
摘要:中间件 微软官网定义: 中间件 中间件意思就是处理请求和响应的软件: 1、选择是否将请求传递到管道中的下一个组件。 2、可在管道中的下一个组件前后执行工作。 对中间件类 必须 包括以下 具有类型为 RequestDelegate 的参数的公共构造函数。 名为 Invoke 或 InvokeAsync 阅读全文
posted @ 2022-08-18 17:04 Bo-Hong 阅读(71) 评论(0) 推荐(0) 编辑
摘要:领域事件是指:一个领域中出触发的 集成事件是指:多个微服务之前产生的事件 核心对象 IMediator INotification INotificationHandler 引入:IMediator 包 第一个示例演示了使用MediatR使用请求/响应类型的操作。它期望对请求做出一些反应。使用 Se 阅读全文
posted @ 2022-08-16 17:22 Bo-Hong 阅读(588) 评论(0) 推荐(0) 编辑
摘要:贫血模型 一般来说 贫血模型:**一个类中只有属性或者成员变量,没有方法 **!例如 DbFirst 从数据库同步实体过来, -- 对于一个系统刚开始的时候会觉得这时候是最舒服的,但是如果后期系统需要升级或者修改需求的时候,一团糟(例如:你在用户注册的时候判断名称是否重复,或者是否账号已经注册,你需 阅读全文
posted @ 2022-08-16 13:18 Bo-Hong 阅读(132) 评论(0) 推荐(0) 编辑
摘要:比如你要验证用户的时候判断一下这个用户名称在数据库是否已经存在了,这时候FluentValidation 就需要注入查询数据库 只需要注入一下就可以了 public class Login3RequestValidator : AbstractValidator<Login3Request> { p 阅读全文
posted @ 2022-08-14 12:05 Bo-Hong 阅读(115) 评论(0) 推荐(0) 编辑
摘要:FluentValidation.AspNetCore 引入包 public class Login2RequestValidator : AbstractValidator<Login2Request> { public Login2RequestValidator() { RuleFor(x = 阅读全文
posted @ 2022-08-14 11:57 Bo-Hong 阅读(186) 评论(0) 推荐(0) 编辑
摘要:如果一个方法内有多个写入操作,比如 写入A表,然后用A表的自增id 去写入B表,假如A表写入成功,但B表因为某种原因写入失败!(这就导致A表写入了脏数据) 这时候 我们可以自定义 一个Filter 进行拦截判断是否需要这个方法开启事务 using var txScope = new Transact 阅读全文
posted @ 2022-08-13 22:46 Bo-Hong 阅读(91) 评论(0) 推荐(0) 编辑
摘要:public class MyExceptionFilter : IAsyncExceptionFilter { private readonly ILogger<MyExceptionFilter> logger; private readonly IHostEnvironment env; pu 阅读全文
posted @ 2022-08-13 22:37 Bo-Hong 阅读(102) 评论(0) 推荐(0) 编辑
摘要:微软官网例子:Filter筛选器 使用场景(执行顺序): IAsyncActionFilter 使用异步actionFilter 只需要实现 他的 :OnActionExecutionAsync 方法 (注意这里的异步不是拦截异步是指的是 当前OnActionExecutionAsync方法内执行的 阅读全文
posted @ 2022-08-13 22:15 Bo-Hong 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy#Overview 阅读全文
posted @ 2022-08-13 18:54 Bo-Hong 阅读(132) 评论(0) 推荐(0) 编辑
摘要:冒泡排序实际两种写法 for (int i = 0; i < arr.Length - 1; i++) { #region 将大的数字移到数组的arr.Length-1-i for (int j = 0; j < arr.Length - 1 - i; j++) { if (arr[j] > arr 阅读全文
posted @ 2022-08-12 16:53 Bo-Hong 阅读(16) 评论(0) 推荐(0) 编辑
摘要:调用: var ms = ExcelHelper.PrintInvoiceToExcel("观看时长", headline, items, (row, item) => { row.CreateCell(0).SetCellValue(item.Id.ToString()); row.CreateC 阅读全文
posted @ 2022-08-12 10:29 Bo-Hong 阅读(166) 评论(0) 推荐(0) 编辑
摘要:微软官方文档:ASP.NET Core 中的模型绑定 Route 是通过MVC Route URL取值。 如:http://localhost:5000/Home/Index/2,id取出的值就会是2。 Query 是通过URL Query参数取值。 如:http://localhost:5000/ 阅读全文
posted @ 2022-08-10 22:17 Bo-Hong 阅读(73) 评论(0) 推荐(0) 编辑
摘要:客户端发送消息 并接收服务端消息 package main import ( "fmt" "net" ) func main() { // conn, err := net.Dial(`tcp`, ":8848") if err != nil { fmt.Println(`net dial err: 阅读全文
posted @ 2022-08-10 21:34 Bo-Hong 阅读(68) 评论(0) 推荐(0) 编辑
摘要:function copyToClipboard(textToCopy) { // navigator clipboard 需要https等安全上下文 if (navigator.clipboard && window.isSecureContext) { // navigator clipboar 阅读全文
posted @ 2022-08-10 21:32 Bo-Hong 阅读(203) 评论(0) 推荐(0) 编辑
摘要:实际使用中发现很多问题 如果用EFcore 框架,这个表达式树生成一个新的实体导致EFcore 跟踪失败!/// <summary> /// 生成表达式目录树 泛型缓存 /// </summary> /// <typeparam name="TIn"></typeparam> /// <typepa 阅读全文
posted @ 2022-08-08 11:26 Bo-Hong 阅读(458) 评论(0) 推荐(0) 编辑
摘要:public static class QueryableExtensions { public static IQueryable<T> WhereIf<T>(this IQueryable<T> query, bool condition, Expression<Func<T, bool>> p 阅读全文
posted @ 2022-08-08 11:01 Bo-Hong 阅读(68) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题