- 博客(103)
- 收藏
- 关注
原创 .NET高性能内存管理
你是不是还不了解spanMemeoryArrayPool这些用法,随着.net的不断升级,像这些提高性能的用法也层出不穷,本文重点介绍一些能够提升.net性能的用法开篇之前,先说下提高性能的宗旨,无非就是。
2025-11-12 11:42:11
312
原创 GC模式识别与调试
总结来说,CorDebugGCType 不光是调试时的一个枚举,更是理解和洞察 .NET 运行时垃圾回收机制的入口。它无形中帮助团队把握住了性能优化的主动权,让我们能够更有信心地写出高质量、环境适应性强的服务端应用。“开发者只有了解了系统底层的运行逻辑,才能在平时写代码和排查问题时游刃有余”,这是我一直坚持的技术理念。
2025-11-07 10:15:14
460
原创 7HTMLCSS高级
作用:为元素添加动态效果,一般与过渡配合使用概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜)平面转换也叫 2D 转换,属性是transform。
2025-09-18 16:13:49
1060
原创 7.WPF事件
声明并注册路由事件,使用EventManager的RegisterRoutedEvent方法进行注册为路由事件添加包装器,目的是把路由事件暴露的像一个传统直接事件,并仍然可以使用+=或者-=操作符。创建可以激发事件的方法案例:当点击按键时,报告事件发生的时间//用于承载事件消息的时间参数get;//声明和注册事件//参数1:路由事件名称,和事件包装器的名称相同//参数2:路由事件的策略,wpf路由事件的策略有3种。
2025-09-18 11:14:17
1012
原创 7.WokflowCore之持久化及在ASP.NETCORE中的使用
【代码】7.WokflowCore之持久化及在ASP.NETCORE中的使用。
2025-09-18 07:01:49
213
原创 7.6中间件
ASP.NET Core只是完成了HTTP请求调度、报文解析等必要的工作,像检查用户身份、设置缓存报文头等操作都是在中间件中完成,中间件就是ASP.NET Core的一个组件,由前逻辑、next、后逻辑3部分组成,多个中间件组成一个。建议能使用中间件的情况尽量使用中间件,如果中间件和过滤器同时使用,则会先执行完所有的中间件前逻辑,然后执行过滤器,最后执行中间件的后逻辑。建议能使用中间件的情况尽量使用中间件,如果中间件和过滤器同时使用,则会先执行完所有的中间件前逻辑,然后执行过滤器,最后执行中间件的后逻辑。
2025-09-17 17:38:12
537
原创 7.5筛选器(过滤器)
筛选器运行开发人员在ASP.NET Core特定的位置执行我们自己的代码,比如在控制器的操作方法之前执行数据检查,或者在ActionResult执行的时候向响应报文头中加入自定义数据。next:用来指向下一个操作器的委托,一个项目可以有多个操作筛选器,如果当前操作筛选器是最后一个筛选器则next就是要执行的操作方法。控制器中操作方法执行的时候,操作筛选器就会被执行,通常可以在操作方法执行之前或者之后执行一些代码。数据库事务保证了我们对数据的操作要么全部成功,要么全部失败,我们可以使用。
2025-09-17 13:19:37
259
1
原创 7.4缓存
尝试获取键为key的缓存值,如果有,则返回true否则返回false || 删除键为key的缓存值 || 设置缓存键key的缓存值为value || 获取键为key的缓存值,如果缓存中没有,则调用factory指向的函数从数据源获取数据,创建缓存并返回值 |
2025-09-17 08:45:45
910
原创 7.2配置系统与ASP.NETCore集成
ASP.Net Core会先从appsettings.json下加载配置,然后从appesttings.Environment.json加载配置,可以是appsettings.Development.json、appsettings.Staging.json、appsettings.Production.json。一般我们在appsettings.json下编写所有环境共有的配置,在appesttings.Environment.json中编写对应于环境的配置。读取到运行环境的名字,而且可以通过。
2025-09-15 16:10:17
298
原创 7.1ASP.NETCore中的依赖注入
如果一个类中有多个操作方法,这些操作方法用到的服务都要使用构造函数来注入(所有的服务都得包含进来,不管用不用)。如果一个操作方法用到的服务特别耗费资源并且使用频率低,则可以在操作方法中通过参数注入的方式,实现在执行某个方法的时候才注入特定的服务。一个解决方案中会包含多个项目,并且解决方案中会引用各个项目,每个项目都会用到很多被注入的服务,所以我们需要在解决方案中把设计到的服务都要注册进去,这样就会很麻烦。现在开发一个案例来简化这些操作。类型,也就是容器接口,一般把服务都注册到这个Service属性里面。
2025-09-15 11:51:56
217
原创 6HTMLFlex布局
标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。作用:让块元素水平排列。属性名:float属性值特点:html结构css样式效果:完整写法 清除浮动场景:浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度(可能导致页面布局错乱)解决方法:清除浮动(清除浮动带来的影响)如果不设置.top 的height属性则会出现这种情况在父元素内容的最后添加一个块级元素,设置 CSS 属性 clear: both ,clear属性为指定一个 元素是否必须
2025-09-14 20:35:11
726
原创 6.WPF属性
依赖属性就是一种自己可以没有值,并能通过Binding从数据源获取值的属性。拥有依赖属性的对象被称为依赖对象。传统开发中,一个对象占用的内存空间在使用new进行实例化的时候已经确定了,而WPF允许对象在创建的时候不包含用于存储数据的空间,而是拥有。这种对象叫做依赖对象,这种获取数据的能力叫做依赖属性。依赖对象要由来实现,该类中具有GetValue和SetValue方法,这两个方法都是以对象为参数。
2025-09-14 16:15:13
631
原创 6-3ASPNETCoreWebAPI技术选择
启动服务后,发现浏览器没有反应,这是因为前端和后端不在同一个域名下(不同的端口也认为是不同的域名),浏览器默认是禁止AJAX跨域。来获取,如果操作方法的参数名字和QueryString的名字一致,只需要为参数添加[FromQuery],否则,就要设定[FromQuery]的name属性指定名字。ASP.NET Core Web API中的操作方法返回值如果是普通数据类型,则返回值默认被序列化为JSON格式的响应报文体返回。对于失败的请求,一般要统一响应报文体的格式以便在客户端进行处理。
2025-09-14 07:01:17
462
原创 6-1ASPNETCoreWeb入门
ASP.NET Core中,严格来讲只有一个Asp.net Core MVC一个框架,Asp.net Core MVC既支持基于视图的MVC开发,也支持Web API和Razor Pages开发。
2025-09-13 15:35:59
688
原创 5计算机图形学OpenGL
OpenGL(Open Graphics Library)是用于渲染 2D、3D 矢量图形的跨语言、跨平台的应用程序编程接口(API),在图形学领域具有极其重要的地位。
2025-09-09 16:22:44
766
原创 5SemanticKernel使用其他模板引擎
备注: 在读取对象属性时,需要将属性转换为小写的下划线分割(下划线命名法)形式。比如对象中的FirstName属性,在liquid 模板中要使用first_name方式读取。
2025-09-09 11:19:39
252
原创 5ModeView结构
Q_OBJECTpublic://自定义代理组件必须继承以下4个函数//创建编辑组件//从数据模型获取数据,显示到代理组件中//将代理组件的数据,保存到数据模型中//更新代理编辑组件的大小{ //创建代理编辑组件//创建一个QSpinBox//设置为无边框//返回此编辑器{//从数据模型获取数据,显示到代理组件中//获取数据模型的模型索引指向的单元的数据//强制类型转换//设置编辑器的数值{ //将代理组件的数据,保存到数据模型中//强制类型转换。
2025-09-09 07:01:31
178
原创 5HTML盒子模型
使用方法:创建项目 → 输入 项目名称、项目类型 Web → 单击按钮【创建项目】 → 单击按钮【添加】,导入设计稿。默认情况:盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸。结论:给盒子加 border / padding 会撑大盒子。属性值:边框线粗细 线条样式 颜色(不区分顺序)属性值:边框线粗细 线条样式 颜色(不区分顺序)/* -n+5 选择第5个以前的 包含第5个 *//* n+5 选择第5个以后的 包含第5个 */清除标签默认的样式,比如:默认的内外边距。
2025-09-08 15:56:43
935
原创 5-3表达式树
表达式树对应可以看到,编译器自动将Lambda表达式编译为Expression类型Expression和Func的区别:Expression中存储了运算逻辑,而Func没有。简单来讲,Expression类似于代码,而Func类似于编译后的程序。可以看出,Func输出结果中,只有参数和返回值,内部没有运算逻辑。而Expression中存储了运算逻辑,要使用EF Core必须使用带运算逻辑的Expression。
2025-09-08 07:01:54
397
原创 5-3Binding对数据的转换和校验
Binding作为Source和Target之间的桥梁,可以在桥梁上设置校验,如果桥梁两端要求的数据类型不同时,还可以设置类型转换器。
2025-09-07 16:05:52
772
原创 5-2EFCore性能优化
当根据Id获取数据的时候,这两个方法会在上下文查找这个对象是否已经被跟踪,如果被跟踪,直接返回被跟踪的对象,不需要访问数据库。EF Core内置了使用并发令牌列实现乐观并发控制,并发令牌列通常就是被并发操作影响的列,比如上面的house类,其中owner属性就可以作为并发令牌列。有时候,无法确定到底那个属性适合作为并发令牌,这种情况下,可以设置一个额外的并发令牌属性,例如使用GUID。但是,在对象被跟踪之后,数据库中对应的数据被其他程序修改,如果使用Find方法则可能返回旧数据。只需要在配置类中做设置。
2025-09-07 11:13:10
327
原创 5-2.Binding指定源
DataContext是WPF控件的基类属性,也就是WPF树形结构都具有这个属性,当一个Binding只有Path而没有Source时,会沿着UI元素树一路向树的根部搜索过去,看哪个节点的DataContext具有Path所指向的属性,如果有就把这个对象作为自己的Source,如果没有就一直找下去。只要为一个ItemsControl对象设置了ItemsSource,就会自动迭代其中的数据元素,并为每个元素准备一个条目容器(条目容器就是数据的外衣),并使用Binding在条目容器和数据元素之间建立联系。
2025-09-07 07:02:23
718
原创 5-1EFCore原理
IQueryable继承自IEnumberable,对于普通集合,Where方法会在内存中对数据进行过滤,但是EF Core如果把数据表中的所有元素加载到内存然后再过滤的话,会导致占用内存过大。EF Core采用“快照更改跟踪”实现实体类改变的检测,当执行SaveChanges方法的时候,把存储在快照中的值与实体类的当前值进行比较,已确定哪些属性被更改。对于IQueryable接口,调用“非立即执行”方法不会立刻执行查询,调用“立即执行”方法才会立刻执行查询。只有立即执行方法才有对应的异步方法。
2025-09-06 20:25:07
629
原创 5-1.Binding的方向、数据更新和Path
Binding可以看做是数据源和目标对象之间的桥梁,源为逻辑层的对象,目标对象则是UI层的控件对象。
2025-09-06 16:13:15
513
原创 4计算机图形学渲染管线
在电脑绘图中,是指以软件由模型生成图像的过程。模型是用语言或者数据结构进行严格定义的三维物体或虚拟场景的描述,它包括几何、视点、纹理、照明和阴影等信息。图像是数字图像或者位图图像。计算机上显示的图像都是经过CPU、GPU计算最终的渲染到屏幕上,由我们人眼所接收到,所以我们要让一个物体呈现出不同的颜色和形状,这就要求我们对它们的位置顶点和颜色信息进行代码的干涉修改,那这个修改过程是如何进行的呢,这就涉及到了图形渲染流水线渲染流水线的工作任务在于,由一个三维场景触发、渲染一张二维图像。
2025-09-06 11:14:08
611
原创 4SemanticKernelpromote
在以上的内联提示词中我们使用的是字符串拼接的方式构造的提示词,但在SK中其提供了特定的语法请使用 Emoji 风格编辑以下段落,该风格以引人入胜的标题、每个段落中包含表情符号和在末尾添加相关标签为特点。请确保保持原文的意思。""";// 参数配置TopP = 1,9月6日16时20分,今年第11号超强台风“摩羯”在海南文昌沿海登陆。超强台风“摩羯”风力有多大?记者只能“抱团”出镜。""";
2025-09-06 07:01:27
2451
原创 4HTMLCSS进阶
小技巧: 后代选择器执行代码的时候,先执行孩子,后执行父亲。选择器写法:选择器1选择器2 { CSS 属性},选择器之间连写,没有任何符号。经验:工作中,一个 a 标签选择器设置超链接的样式, hover状态特殊设置。选择器写法:父选择器 > 子选择器 { CSS 属性},父子选择器之间用。选择器写法:父选择器 子选择器 { CSS 属性},父子选择器之间用。注意:如果交集选择器中有标签选择器,标签选择器必须书写在最前面。作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。
2025-09-05 16:20:52
542
原创 4.控件与布局
内部采用流式布局,使用Orientation属性来控制流延伸的方向,使用HorizontalAlignment和VerticalAlignment两个属性控制内部控件的对齐。,这个集合不会直接个给ItemsControl使用,而是先使用条目容器进行包装,这样的好处是允许程序员向ItemsControl提交各种类型的数据集合。该类控件会自动使用相应的条目容器对提交给它的内容进行包装,合法的ItemsControl内容一定是。内容属性为Items、ItemsSource、Header。类似于Winform。
2025-09-05 11:55:28
615
原创 4-4关系配置
set;set;} //对应的文章set;生成两张表如下,注意在T_Comments表中生成了ArticleId外键,指向T_Articles中的Id。
2025-09-03 20:27:41
420
原创 4-3数据库迁移
Nuget安装Microsoft.EntityFrameworkCore.Tools上一节中讲到,使用和第一类文件中,有数字+迁移名字.cs文件和数字+迁移名字.Designer.cs文件。
2025-09-03 11:21:37
355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅