摘要:
在.NET7的Preview5中,优化了asp.net core中的JWT验证,不用像以前繁琐了,更重要的是带来了一组生成Token的工具,可以让开发人员或测试人员不需登录获取Token,而达到测试的目的。 创建项目 现在来看一下怎么使用,首选创建项目,/是无验证,/myhome是有验证 var b 阅读全文
摘要:
.NET Preview5中,给MiniAPI带来了一个参数绑定的功能,看到这个功能,我一下子就开心了,因为它提供了一个把松散的传入数据或注入功能耦合在一起的能力,并且可以根据自己的需求自由组合,结合上原来的Fromxxx(Name="")]使用,尤其和谐。 看一下下面的例子,如果每个请求都带有X- 阅读全文
摘要:
前两篇说到Command和Option,这篇说说Argument。Argument的用法和Option很像,只是他的构造和属性有些差别,再就是在运行输入时有区别,接下来看看实现。 一个参数 //创建根命令 var rootCommand = new RootCommand("这是一个命令行工具:旦猫 阅读全文
摘要:
前一篇简单看了一下CommandLine命令的使用,其实在一个命令行工具中,还有一个重要的点,那就是选项——Option,选项是为命提供参数,就好像C#中方法,Command就像方法,Option就像方法的参数,说到参数就有参数类型,形参(形式参数名称),同理,CommandLine也有,看一个带O 阅读全文
摘要:
记得之前出过几篇.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 阅读全文