摘要:
传统事件侦听模式潜在内存泄漏问题 普通事件使用 source.event+=listener.delegate,这时event所在的委托会持有listener的强引用;如果listener不再监听event时,需要使用source.event-=listener.delegate来解除引用关系。 若 阅读全文
posted @ 2025-06-07 21:34
BigBosscyb
阅读(175)
评论(0)
推荐(0)
摘要:
在上一篇C# 如何优雅地取消正在运行的任务 虽然取消了未结束的异步任务,但是被调用的同步方法仍未结束;代码不够优雅,所以在查看了B站博主的这个C#如何在异步任务中调用及取消一个长时间运行的同步方法(其一)视频后,发现他的做法比较优雅; 注意:这个👆视频介绍的方法适用于.NET Framework平 阅读全文
posted @ 2025-06-07 21:11
BigBosscyb
阅读(44)
评论(0)
推荐(0)
摘要:
第三方API中有一个查询订单信息的同步方法,GetOrderInfo(string orderNo);这个方法耗时比较久可能在1s到5s之间;我先调用了一次GetOrderInfo方法,然后立刻又调用第二次GetOrderInfo,我希望在第二次调用GetOrderInfo方法时结束掉上一次还未执行 阅读全文
posted @ 2025-06-07 21:09
BigBosscyb
阅读(20)
评论(0)
推荐(0)
摘要:
DelegateHandler是一个抽象装饰器,被装饰的"HttpClentHandler",是网络请求的实际发送者;通过为HttpClentHandler添加装饰,能对"发送请求"动作,进行一些额外操作; 参考: Better timeout handling with HttpClient Ti 阅读全文
posted @ 2025-06-07 20:31
BigBosscyb
阅读(31)
评论(0)
推荐(0)
摘要:
参考:C# 多线程锁之ReaderWriterLockSlim public class SynchronizedCache { private ReaderWriterLockSlim cacheLock = new ReaderWriterLockSlim(); /// <summary> // 阅读全文
posted @ 2025-06-07 20:30
BigBosscyb
阅读(48)
评论(0)
推荐(0)
摘要:
有时我们会在控件的Loaded事件中执行数据初始化操作;但Loaded事件可能不只会触发一次(比如:控件放在TabControl中,切换TabItem便可发现Loaded事件会多次触发) 故如果我们在Loaded事件中处理初始化操作,且只希望Loaded事件处理方法只执行一次,该如何做? 采用标志位 阅读全文
posted @ 2025-06-07 20:28
BigBosscyb
阅读(65)
评论(0)
推荐(0)
摘要:
了解过double在计算机中的存储方式的,应该知道double类型,要判断"相等"是很困难的,比如我们写出下面一行代码 if(a==b){//do something...} 此时编译器会提示这个判断不严谨,他推荐: Math.Abs(a-b)<一个很小的数 于是乎,我在搜索引擎中搜索了一下,发现类 阅读全文
posted @ 2025-06-07 20:26
BigBosscyb
阅读(12)
评论(0)
推荐(0)

浙公网安备 33010602011771号