摘要:ApiLite是基于.NET6直接将Service层生成动态api路由,可以不用添加Controller,支持模块插件化,在项目开发中能够提高工作效率,降低代码量。 开发环境 .NET SDK 6.0.100-rc.2.21505.57 VS2022 Preview 7.0 项目地址 GitHub:
阅读全文
随笔分类 - ASP.NET Core
摘要:缓存是一种开发时常用的性能优化手段,.Net自带内存缓存(MemoryCache)可以很方便的使用,下面列出简单用法。 首先通过NuGet添加 Microsoft.Extensions.Hosting、Microsoft.Extensions.Caching.Memory 这两个包。 添加命令: I
阅读全文
摘要:理想的RESTful WebAPI采用面向资源的架构,并使用请求的HTTP方法表示针对目标资源的操作类型。但是理想和现实是有距离的,虽然HTTP协议提供了一系列原生的HTTP方法,但是在具体的网络环境中,很多是不支持的。比如有的浏览器只能发送GET和POST请求,客户端发送的PUT请求也不一定能够被
阅读全文
摘要:最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理。给一个方法加一个缓存特性,那这个方法就会进行缓存。这个也是网上说的面向切面编程AOP。 AOP的概念也很好理解,跟中间件差不多,说白了,就是我可以任意地在方法的前面或后面添加代码,这很适合用
阅读全文
摘要:###一、依赖包 ###二、定义一个简单的缓存接口 /// <summary> /// 简单的缓存接口,只有查询和添加,以后会进行扩展 /// </summary> public interface ICaching { object Get(string cacheKey); void Set(s
阅读全文
摘要:验证要做三件事 1. 定义验证规则 2. 按验证规则进行检查 3. 报告验证的错误。 在把错误报告给API消费者的时候,报告里并不包含到底是服务端还是API消费者引起的错误,这是状态码的工作。而通常响应的Body里面会包含一组验证错误信息,API消费者可以把这些信息展示给API消费者的用户。 定义验
阅读全文
摘要:一、目的 我想告诉消费者我的api关于新创建的对象的位置 二、方法说明 Parameters routeName:The name of the route to use for generating the URL. routeValues:The route data to use for ge
阅读全文
摘要:本文首先简单介绍了几种API设计风格(RPC、REST、GraphQL),然后根据实现项目经验提出WebAPI规范设计思路,一些地方明显违反了RESTful风格,供大家参考! 一、几种设计风格介绍 1.1 RPC 这是最常见的方式,RPC说的是本地调用远程的方法,面向的是过程,估计超过50%的API
阅读全文
摘要:从MVC到WebApi,路由机制一直都在其中扮演着重要的角色。 它可以很 简单 :如果你只需要会用一些简单的路由,如/Home/Index那么你只需要配置一个默认路由就能搞定。 它可以很 神秘 :你的url可以千变万化,看到一些“无厘头”的url,很难理解它是如何找到匹配的Action,例如/api
阅读全文
摘要:前言: 在Autofac的使用中,提供了个种注入的API其中GetAssemblies()用着特别的舒坦。 1、core2.0也可以使用Autofac的包,但框架自身也提供了默认的注入Api,IServiceCollection(Transient、AddSingleton、Scoped) serv
阅读全文
摘要:public void ConfigureServices(IServiceCollection services) { string strValue = Configuration.GetSection("Appsetings").GetSection("key").Value; foreach
阅读全文
摘要:1.创建【特性】用于标注依赖注入 using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; namespace Util.Attributes { /// <summ
阅读全文
摘要:- 【先决条件】 + C# + Entity Framework + ASP.NET Core + SQL 基础知识 - 【通用开发技能】 + 学习 GIT, 在 GitHub 中创建开源项目 + 掌握 HTTP(S)协议, 及其请求方法(GET, POST, PUT, PATCH, DELETE,
阅读全文