摘要:
记得之前出过几篇.net tool工具的文章,当时的做法是所有工具的语法分析全部自己解释,自己执行,语法的解释占了大部分时间,反而工具的功能被弱化了。 其实微软有一个CommandLine框架在缓慢的发展着,至今都没有正式发布,那就是System.CommandLine。可以通过NuGet来引用Sy 阅读全文
摘要:
(注:本文参照 NickChapsas的Attributes get a feature long-overdue in C# 11) 今天看一个泛型特性的例子,这个功能在C#11才受支持。 在asp.net core mvc中,可以给action添加filter,达到拦截作用,实现如下: publ 阅读全文
摘要:
在asp.net mvc或asp.net miniapi中,有过滤器,可以在请求前或后增加一层,达到验证,过滤等作用,如果在Service的方法前后加一层呢?这里介绍一下Castle.DynamicProxy的用法。 首先引入 Castle.Core 实现代码相对轻量: using Castle.D 阅读全文
摘要:
当年在做go时,很羡慕它的时间有微秒,纳秒,在做性能优化时,能很小颗粒度的查看引入方法执行的时间,当时.net的DateTime只有毫秒(虽然也有别的办法获取)。现在,在最新的.NET7 Preview4中,DateTime也有微秒和纳秒了,倍感亲切。 纳秒在百位上,没有十位和个位,但这也说明.NE 阅读全文
摘要:
为了更好的测试,更好的性能,Preview4带了一个新的请求返回值类型,这个新的类型中封装了所有的Http请求返回状态函数,还包括了返回成功后的几种数据类型,下面列举了几个常用的类型: app.MapGet("/test_ok", () => { return TypedResults.Ok<Dat 阅读全文
摘要:
这篇是“闻(看)香(码)识(学)女(技)人(术)”。 这也是一个有意思的功能,路由分组,啥也不说了,看代码看结果: using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.OpenApi; var builder 阅读全文
摘要:
在MiniAPI系列中,《.NET6之MiniAPI(十八):OpenAPI swagger》介绍了swagger在MiniAPI框架中的使用,当时留下很多不足,随着.NET7 Preview4的推出,这方面得到了很大的改进,我还是使用“十八”这篇文章的案例。 如果想参看原来文章,见下面引用: 《. 阅读全文
摘要:
一觉醒来,发现微软带来了.NET7 Preview4的更新,本次更新关于MiniAPI的还不少,难以掩饰的喜悦心情,促使我尽快把这个消息分享给大家,那下来我们看一下一共带来了哪些关于MiniAPI的更新: 返回值带来了TypedResults,这样进一步地丰富了返回值的多样性: app.MapGet 阅读全文
摘要:
.net core下迎来了WCF——CoreWCF1.0,做了一个最初级的Demo,尝尝鲜。 首先在NuGet中引入下面两个包 CoreWCF.Http CoreWCF.Primitives 本demo是用WCF实现一个ToDoList的几个服务端方法,然后用创建客户端服务调用,代码如下: WCF服 阅读全文
摘要:
有时,为了省事,我们也可以把窗体的控件注入到ServiceCollection中,在razor中订阅事件,这样就省了中间的桥梁,直接用控件当桥梁,下面以一个Button和Timer为例,来展示使用方式。 本例是把Button和Timer注入到ServieCollection,在razor中通过引用注 阅读全文
摘要:
在上一篇中介绍了一下razor文件中,js与c#之间的相互调用,但WinForm和Blazor混合中,没有真正与WinForm进行交互,本篇来说明一下。 WinForm中混合Blazor是通过ServiceCollection来完成的,如果想WinForm和Blazor交互,可以通过向Service 阅读全文
摘要:
在Debug程序时,面对一些大集合,之前是这样查看的,如下图,这样看起来不直观,集合中的数据只能一个一个实体查看: VS2022预览版带来一个新功能,集合表格可视化,比如下面这样一段代码: using Bogus; using System.Text.Unicode; var addressFake 阅读全文
摘要:
这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心处理{},因为在C#string类型中 @,$,",{,}都是有含义的,组合使用后就各种转义,补齐,C#11终于解决了这个痛点 阅读全文
摘要:
“为什么中间件的构造函数里不能使用scope的生命周期类型啊?”, 那就用实例来得到答案吧,先看小桂说的情况,是报错的: var builder = WebApplication.CreateBuilder(args); builder.Services.AddScoped<ITestService 阅读全文
摘要:
.NET7的第三个预览版发布了,同样带来了mini api的更新,这次带来了路由过滤器,与mvc版的action 过滤器相似。具体见https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-preview-3/ 用官 阅读全文
摘要:
把一个数组的全部元素加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. 阅读全文