Fork me on GitHub
上一页 1 2 3 4 5 6 7 ··· 20 下一页
摘要: 记得之前出过几篇.net tool工具的文章,当时的做法是所有工具的语法分析全部自己解释,自己执行,语法的解释占了大部分时间,反而工具的功能被弱化了。 其实微软有一个CommandLine框架在缓慢的发展着,至今都没有正式发布,那就是System.CommandLine。可以通过NuGet来引用Sy 阅读全文
posted @ 2022-12-06 01:44 桂素伟 阅读(65) 评论(0) 推荐(0) 编辑
摘要: (注:本文参照 NickChapsas的Attributes get a feature long-overdue in C# 11) 今天看一个泛型特性的例子,这个功能在C#11才受支持。 在asp.net core mvc中,可以给action添加filter,达到拦截作用,实现如下: publ 阅读全文
posted @ 2022-12-06 01:38 桂素伟 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 在asp.net mvc或asp.net miniapi中,有过滤器,可以在请求前或后增加一层,达到验证,过滤等作用,如果在Service的方法前后加一层呢?这里介绍一下Castle.DynamicProxy的用法。 首先引入 Castle.Core 实现代码相对轻量: using Castle.D 阅读全文
posted @ 2022-12-05 20:55 桂素伟 阅读(85) 评论(1) 推荐(0) 编辑
摘要: 当年在做go时,很羡慕它的时间有微秒,纳秒,在做性能优化时,能很小颗粒度的查看引入方法执行的时间,当时.net的DateTime只有毫秒(虽然也有别的办法获取)。现在,在最新的.NET7 Preview4中,DateTime也有微秒和纳秒了,倍感亲切。 纳秒在百位上,没有十位和个位,但这也说明.NE 阅读全文
posted @ 2022-12-05 20:48 桂素伟 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 为了更好的测试,更好的性能,Preview4带了一个新的请求返回值类型,这个新的类型中封装了所有的Http请求返回状态函数,还包括了返回成功后的几种数据类型,下面列举了几个常用的类型: app.MapGet("/test_ok", () => { return TypedResults.Ok<Dat 阅读全文
posted @ 2022-12-05 20:44 桂素伟 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 这篇是“闻(看)香(码)识(学)女(技)人(术)”。 这也是一个有意思的功能,路由分组,啥也不说了,看代码看结果: using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.OpenApi; var builder 阅读全文
posted @ 2022-12-05 20:38 桂素伟 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 在MiniAPI系列中,《.NET6之MiniAPI(十八):OpenAPI swagger》介绍了swagger在MiniAPI框架中的使用,当时留下很多不足,随着.NET7 Preview4的推出,这方面得到了很大的改进,我还是使用“十八”这篇文章的案例。 如果想参看原来文章,见下面引用: 《. 阅读全文
posted @ 2022-12-05 20:33 桂素伟 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 一觉醒来,发现微软带来了.NET7 Preview4的更新,本次更新关于MiniAPI的还不少,难以掩饰的喜悦心情,促使我尽快把这个消息分享给大家,那下来我们看一下一共带来了哪些关于MiniAPI的更新: 返回值带来了TypedResults,这样进一步地丰富了返回值的多样性: app.MapGet 阅读全文
posted @ 2022-12-04 16:39 桂素伟 阅读(58) 评论(0) 推荐(0) 编辑
摘要: .net core下迎来了WCF——CoreWCF1.0,做了一个最初级的Demo,尝尝鲜。 首先在NuGet中引入下面两个包 CoreWCF.Http CoreWCF.Primitives 本demo是用WCF实现一个ToDoList的几个服务端方法,然后用创建客户端服务调用,代码如下: WCF服 阅读全文
posted @ 2022-12-04 16:29 桂素伟 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 有时,为了省事,我们也可以把窗体的控件注入到ServiceCollection中,在razor中订阅事件,这样就省了中间的桥梁,直接用控件当桥梁,下面以一个Button和Timer为例,来展示使用方式。 本例是把Button和Timer注入到ServieCollection,在razor中通过引用注 阅读全文
posted @ 2022-12-04 16:21 桂素伟 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。 WinForm中混合Blazor是通过ServiceCollection来完成的,如果想WinForm和Blazor交互,可以通过向Service 阅读全文
posted @ 2022-12-04 16:14 桂素伟 阅读(446) 评论(0) 推荐(1) 编辑
摘要: 在Debug程序时,面对一些大集合,之前是这样查看的,如下图,这样看起来不直观,集合中的数据只能一个一个实体查看: VS2022预览版带来一个新功能,集合表格可视化,比如下面这样一段代码: using Bogus; using System.Text.Unicode; var addressFake 阅读全文
posted @ 2022-12-04 15:39 桂素伟 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心处理{},因为在C#string类型中 @,$,",{,}都是有含义的,组合使用后就各种转义,补齐,C#11终于解决了这个痛点 阅读全文
posted @ 2022-12-04 15:31 桂素伟 阅读(60) 评论(0) 推荐(0) 编辑
摘要: “为什么中间件的构造函数里不能使用scope的生命周期类型啊?”, 那就用实例来得到答案吧,先看小桂说的情况,是报错的: var builder = WebApplication.CreateBuilder(args); builder.Services.AddScoped<ITestService 阅读全文
posted @ 2022-12-04 12:09 桂素伟 阅读(21) 评论(0) 推荐(0) 编辑
摘要: .NET7的第三个预览版发布了,同样带来了mini api的更新,这次带来了路由过滤器,与mvc版的action 过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-preview-3/ 用官 阅读全文
posted @ 2022-12-04 12:07 桂素伟 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 把一个数组的全部元素加1,有什么好办法,于是有了下面的分析: var arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //方法一 foreach (var i in arr) { i++; } //方法二 for (var i = 0; i < arr. 阅读全文
posted @ 2022-12-04 11:48 桂素伟 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 在上一篇说过,Dapper是通过扩展IDbConnection来达到实现的,那带来的一个问题就是隔离性不好,比如在做单元测试时,mock就有点困难,所以在实践中,我对Dapper作了扩展,下面分享出来,以供大家参考,同时说明一下,这仅是自己根据自己的需要实现的一种方式而以,不一定是全面和完善的。 本 阅读全文
posted @ 2022-11-30 20:56 桂素伟 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 不知不觉来到了《.NET6之MiniAPI》的第三十篇,回顾之前的篇幅,主要涉及如下: HTTP请求,应答 Request 桂素伟,公众号:桂迹.NET6之MiniAPI(二):request Response 桂素伟,公众号:桂迹.NET6之MiniAPI(三):Response 配置选项 配置 阅读全文
posted @ 2022-11-30 20:52 桂素伟 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 不知不觉来到了《.NET6之MiniAPI》的第三十篇,回顾之前的篇幅,主要涉及如下: HTTP请求,应答(二,三) 配置选项(四,五) 依赖注入,中间件(六,七) 日志,监控,跟踪,健康检查(八,十三,十九,二十七,二十八) 授权验证(九,十) ORM(十二,二十五,二十六) 本地化,缓存,限流, 阅读全文
posted @ 2022-11-30 20:44 桂素伟 阅读(61) 评论(0) 推荐(0) 编辑
摘要: MiniAPI的单元测试与asp.net web api的单元测试大体是相同的(毕竟都是asp.net core),只是在小细节上有一些差异,文章中会说到这点。 本文测试框架是XUnit,Mock框架是Moq,关于这两个框架和库的学习,这里就忽略了。 首先创建两个项目,API项目MiniAPI19U 阅读全文
posted @ 2022-11-30 20:44 桂素伟 阅读(73) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 20 下一页