02 2021 档案
摘要:ORM(Object Relational Mapping):对象关系映射,它是一种编程框架, 用于自动将数据库中的记录映射成编程语言的对象, 从而将数据库的操作对象由ADO改为编程语言的类, 至于这些类对象是如何与数据库交互的,ORM会自动完成,具体如下: //ADO操作数据库一般是这样的: Ol
阅读全文
摘要:一、什么是中间件?先看看微软官方文档对中间件的定义: 官网地址:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/middleware/?view=aspnetcore-5.0 官网还给出了一张中间件调用的示意图,如下: 简而言之,我
阅读全文
摘要:实现异步操作,除了用 async 和 await 这对组合之外,还可以通过委托对象的 BeginInvoke( ) 和 EndInvoke( ) 来完成 , 为简单起见,我们直接使用系统为我们提供的内置委托 Func<T1,T2,...TResult>(或者不带返回值的Action<T1,T2...
阅读全文
摘要:随着智能手机的普及,现在的互联网用户基数动辄数以千万、亿计,这对软件系统的执行效率和稳定性提出了更高的要求, 代码的执行效率除了在硬件层面解决之外,在软件层面也有很多技术出现,异步编程就是其中之一, C# 5.0 引入一个新特性来构建异步方法 async/await,接下来我们就来学习如何灵活的使用
阅读全文
摘要:本篇接着介绍 JSON 的序列化和反序列化。 一、要完成的功能如下: 1 . 序列化:实例化 Company 和 User 对象,并序列化成一个JSON字符串,对应终结点为 JsonDemo6( ) 。 2 . 反序列化:读取配置文件appcom.json中的信息,并反序列化成 Company 和
阅读全文
摘要:从本篇开始写 .net5 core webapi 进阶系列,先从JSON这种数据格式开始,原因如下: 1 . 够简洁; 2 . 易于理解; 3 . 其格式和面向对象的语言天然匹配; 4 . 多语言(Javascript 、C# 、Java 等)支持; 毫无疑问,JSON是不同语言,不同系统之间进行数
阅读全文
摘要:本篇介绍如何发布项目并在IIS上部署以供外部调用。 要通过IIS运行.NET5 core webapi需在IIS所在服务器上配置运行环境, 包括 .NET Core 运行时、.NET Core 库 和 ASP.NET Core 模块,他们都被打包在 .NET Core 托管捆绑包中。 .net co
阅读全文
摘要:.net5 core 中的配置文件都是JSON格式的,这种格式具有对象化的特征,书写更简洁,且被大多数语言支持, 非常适合在微服务架构下使用。配置文件的读取有两种方式, 一种是传统的Configuration模式,另一种是Option模式,下面分别介绍。 准备工作: 在解决方案资源管理器的根目录下打
阅读全文
摘要:本篇对之前的设计做一下扩展,实现F8功能(见红色部分),客户端可以通过调用此接口API上传一张(或多张)自己的照片。 功能序号 HTTP谓词(HTTP verbs) API 描述 F1 GET /api/users 管理员获取用户列表 F2 POST /api/users 管理员添加用户 F3 PA
阅读全文
摘要:上一篇介绍了JWT身份认证的原理及.net core webapi中如何使用JWT。 本篇继续介绍如何在客户端设置JWT认证的Token信息以及Web服务器如何去解析Token中的内容并正确识别出用户身份。 注:这里的客户端可以是浏览器、桌面应用、手机APP、小程序等。 本项目中的认证流程是这样的:
阅读全文
摘要:本篇将在webapi项目中加入身份认证功能,仅对授权的用户提供服务,未授权的访问给出提示信息。 1. 在传统的web身份认证中,典型的认证过程是这样的:用户通过浏览器打开登录页,输入帐号/密码后提交, Web服务器判断帐号/密码是否正确,如果正确会在服务器中生成一个Session对象标识用户身份,
阅读全文
摘要:本篇将进一步剖析.net core webapi中对日志的处理逻辑,方便在项目中灵活使用。 .net core中关于日志的接口都定义在Microsoft.Extensions.Logging这个名称空间中, (所在的程序集是Microsoft.Extensions.Logging.Abstracti
阅读全文