鼠标穿透问题分析
摘要:问题描述 表象 拾取元素时出现“穿透”,通过 WindowsAPI 拾取目标控件元素信息时,鼠标拾取元素的同时还执行了目标控件上的操作,这种情况是不允许的。(PS:通过单击进行拾取,常规情况下已做了屏蔽,不会执行目标控件的操作) 里象 经过分析和测试,得出结论。误操作的控件绑定的不是 Click事件
阅读全文
Asp.Net Core启动类选择
摘要:AspNet Core 多环境的配置方式有一种基于Startup类的选择。 webBuilder.UseStartup() //显式注册、会靶定Startup.cs webBuilder.UseStartup(Assembly.GetExecutingAssembly().FullName); //
阅读全文
Asp.Net Core 应用配置
摘要:五种读取方式 五种读取方式依赖于 IConfiguration 和 IConfigurationRoot 对象 一、初级写法 //不区分大小写 string connectionString = _configuration["ConnectionString"]; 二、绑定配置模型 var con
阅读全文
GetService与GetServices对比
摘要:演示通过ServiceProvider得到一个包含多个服务实例的集合。 定义了一个服务接口IFoobar 添加服务接口的两个实现类Foo和Bar 将Foo和Bar的ServiceDescriptor添加到ServiceCollection中 这时ServiceDescriptor对象的Service
阅读全文
源码分析——服务提供之三种获取实例的区别
摘要:如果服务未注册则GetService()返回null,GetRequiredService()而是抛出异常。 public static T GetService<T>(this IServiceProvider provider) { if (provider == null) { throw n
阅读全文
ServiceProvider的获取
摘要:无法new 内部类无法直接创建 通过构建器创建 IServiceProvider serviceProvider = new ServiceCollection().BuildServiceProvider(); 通过ServiceProvider获取自身 static void Main(stri
阅读全文
Asp.Net Core自行指定监听地址
摘要:一般有一下五种,优先级依次递增 调试器环境配置(launchSettings.json):"applicationUrl": "http://localhost:5000" 环境变量配置(launchSettings.json-environmentVariables):"ASPNETCORE_UR
阅读全文
颠覆三观的性能实验
摘要:用抽象接口来接收实现是我们代码中常用的一种手段 IBase base = new Child() ,从来没想过在.net Framework下会对性能造成如此影响。 具体代码如下 private static void Test() { Base a = new Base(); AbsBase b
阅读全文
.net冷知识
摘要:不常用的技术方案 如何在关系型数据库中保存长文本。 按照主从表的结构进行设计,将长文本进行拆解分开保存,使用时在进行主从查询。 注意事项 提防C#对象深拷贝,浅拷贝导致的BUG 对于需要关闭的资源放在using可以避免忘记关闭 概念常识 partial 可用于由代码生成器自动创建的代码,从而避免在添
阅读全文
角色、权限、授权
摘要:权限 页面权限 即用户登录后可以看到的页面,一般用菜单进行控制 功能权限 包含但不仅限于增删改查。 数据权限 数据权限具有一定的特殊性,一般不用同一套“角色”、“组织”进行控制,常伴随着“手动授权” 角色 角色本身没有意义,作为权限的代理,封装了一组权限,用于分配给用户。 互斥角色 两个角色不能同时
阅读全文
版本设计原则
摘要:完备性 每个版本的功能都能有完整的闭环,避免当前版本还依赖下一版本的功能,减少对当前版本无意义的预留功能 目的性 每个版本要达到什么使能的目的要明确。 周期性 定制好可执行的目标达成周期,并预留20%的突发情况处理时间。不拖沓也不跃进,周期制定的不合理后果不言而谕,周期太短一环接一环的被影响制定计划
阅读全文
方法还是参数
摘要:大家在工作中有没有考虑过这样一件事情:有时需要提供两种方法,但两个方法相识度极高,此时究竟该选择“一个方法,额外用一个参数区分差异”,还是“两个方法”? 各有优劣,亦或是该具体场景分析,一直困惑着我。因为对于编程我追求的是统一。 截止到目前我的有效理解是“参考单一职责原则”。2020-12-29
阅读全文
代码复用原则
摘要:代码复用 为了提高程序易维护,易扩展的特性,代码复用也是很关键的一个方面。 最低等级的复用是:代码拷贝—>然后是方法的复用——>最后对象的复用。 简单几个例子 当重复代码存在于同一对象中时,也就是说一段代码在该对象中出现了两次以上的时候,我们应该把这段代码抽取为方法。 当重复代码不在同一对象中时,那
阅读全文
我喜欢的成语
摘要:郑人买履: 从前有一个郑国人,想去买一双新鞋子,于是事先量了自己的脚的尺码,然后把量好的尺码放在自己的座位上。他到了集市,却忘了带上尺码。等挑好了鞋子,才发现:“我忘了带尺码。”就返回家中拿尺码。等到他返回集市的时候,集市已经散了,最终没有买到鞋子。 有人问:“你为什么不用自己的脚去试试鞋子?” 他
阅读全文