本页 12 篇文章
StarBloghttps://blog.deali.cn/blog/starblog-4
...代码在这:https://github.com/Deali-Axy/StarBlog/blob/master/StarBlog.Migrate/PostProcessor.cs 构造方法: c# private readonly Post _post; private readonly string _importPath; private readonly string _assetsPa...
StarBloghttps://blog.deali.cn/blog/refactoring-c-avalonia-word-clouds
...出词云那种灵动、密集、错落有致的美感。 于是,我决定 **彻底重构** 这一模块,重新寻找合适的词云生成方案。 选型 在 Avalonia 生态中是没有直接可用的词云组件的。 不过没事,C# 的生态还算丰富,基本要啥有啥,词云自然不在话下。 在调研阶段,我找到了两个比较流行的 C# 词云库: [Sdcb.WordCloud](https://github.com/sdcb/Sdc...
StarBloghttps://blog.deali.cn/blog/asp-net-core-actionfilter-param-validation
...例,该实例贯穿请求处理的整个生命周期。 这里我们利用 HttpContext 提供的 Items 这个键值对集合(用于在请求的不同中间件和组件之间共享数据)来共享 Client 对象。 c# var client = HttpContext.Items["client"] as Client; 开始写代码 ClientIdSource Enum Client ...
StarBloghttps://blog.deali.cn/blog/asp-net-core-unit-testing-integration-testing
...ct:执行要测试的方法,如调用要测试的函数和方法。 Assert:断言测试结果,验证被测试方法的输出是否与预期的结果一致。 最简单的例子 Controller 代码 c# [ApiController] public class DemoController : ControllerBase { [HttpGet("[action]")] public Api...
StarBloghttps://blog.deali.cn/blog/aspnetcore-api-version-management
...要安装这俩nuget包 Asp.Versioning.Mvc Asp.Versioning.Mvc.ApiExplorer 注册服务 编辑 Program.cs 文件 c# builder.Services.AddApiVersioning(options => { options.DefaultApiVersion = new ApiVersion(1, 0); ...
StarBloghttps://blog.deali.cn/blog/c-remove-invisible-unicode-chars
...racle无法正确解析,所以导致了插入数据的时候错乱了 所以破案了,就是系统前台使用人员,在输入的时候不知道咋滴搞了个Unicode字符进去… 解决方法就是我这边采集的时候再做一次过滤… 没想到C#要搞个过滤 Unicode 还挺折腾的,资料太少… 最后还是参考了Java的资料搞的。= =... 代码 代码如下 写了个扩展方法来过滤 c# public static cla...
StarBloghttps://blog.deali.cn/blog/starblog-18-local-typora-package-upload
...mpression 里,直接用就完事了。 解压前得先把文件复制到临时目录,并创建一个新的临时目录来放解压后的文件。 在 Services/BlogServices.cs 里新增代码 c# public async Task<Post> Upload(PostCreationDto dto, IFormFile file) { // 先复制到临时文件 var tempF...
StarBloghttps://blog.deali.cn/blog/asp-net-core-signalr-realtime-chatroom
...分配给同一个服务器,具体以后需要的时候再研究。 开始使用 我要做的是一个聊天室,所以只需要写一个简单的服务就可以了。 首先要创建AspNetCore项目,注册SignalR服务: c# public void ConfigureServices(IServiceCollection services) { services.AddControllers(); ser...
StarBloghttps://blog.deali.cn/blog/llm-cont-conv-chatglm2-grpc-feat
...# 简述 系统分为LLM后端和客户端两部分,LLM后端使用 gRPC 提供接口,客户端就是我用 Blazor 开发的 AIHub 所以这次涉及到这几个地方的修改 proto 客户端 - C# 代码 AIHub页面 - Blazor 的 razor 代码 gRPC 服务端 - Python 代码 修改 proto 来改造一下 proto 文件 protobuf \...
StarBloghttps://blog.deali.cn/blog/aot-avalonia-app-starblog-project-challenges
...运行时用 JIT(即时编译器)动态编译,Native AOT是 **提前(Ahead of Time)** 直接搞定所有编译工作。 以下是一个简单的 Native AOT 流程图 bash C# 代码 ↓ Roslyn 编译(生成 IL) ↓ Native AOT 编译器 (ilc) ↓ 静态分析 Tree Shaking IL到机器码转换 链接器合成可执行...
StarBloghttps://blog.deali.cn/blog/starblog-extra1-analytics-async-sharding
...分库 具体实现 接下来是具体的代码实现 队列 在 StarBlog.Web/Services 里添加 VisitRecordQueueService.cs 文件 c# public class VisitRecordQueueService { private readonly ConcurrentQueue<VisitRecord> _logQueue = ...
StarBloghttps://blog.deali.cn/blog/starblog-2-markdig-opt-toc-extraction-gen
...与已存在的ID冲突时,会自动添加数字后缀 例如:如果"my-heading"已存在,则新的ID会变成"my-heading-1","my-heading-2"等 具体处理步骤 c# // 获取heading的原始文本 stripRenderer.Render(headingBlock.Inline); ReadOnlySpan<char> rawHeadingText = ((...