ASP.NET Core 托管,数据的校验
托管(轮询)服务 场景,代码运行在后台。比如服务器启动的时候在后台预先加载数据在缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一次数据。 托管服务实现IHostdService接口,一般编写从BackgroundService继承的类。测试:延迟若干秒再读取文件,再延迟,再输出。 12345678910111213141516public class DemoBgService:BackgroundService{ private readonly ILogger<DemoBgService> _logger; //注入日志服务 public DemoBgService(ILogger<DemoBgService> logger) { _logger = logger; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { ...
ASP.NET Core Session与JWT
Authentication与Authorization1.Authentication对访问者的用户身份进行验证,“用户是否登陆成功”。2.Authorization验证访问者用户身份是否又对资源访问的访问权限,“用户是否有权限访问这个地址”。 标识(Identity)框架1.标识(Identity)框架:采用基于角色的访问控制(Role-Based Access Control,简称RBAC)策略,内置了对用户、角色等表的管理以及相关的接口,支持外部登录、2FA等。2.标识框架使用EF...
ASP.NET Core筛选器,中间件
筛选器1.筛选器(filter,也可以翻译为“过滤器”)是ASP.NET Core中提供的一种切面编程机制,它允许开发人员创建自定义筛选器来处理横切关注点,也就是在ASP.NET Core特定的位置执行我们自定义的代码,比如在控制器的操作方法之前执行数据检查的代码,或者在ActionResult执行的时候向响应报文头中写入自定义数据等。2.ASP.NET Core中的筛选器有以下5种类型:授权筛选器(Authorization filter)、资源筛选器(Resource filter)、操作筛选器(Action filter)、异常筛选器(Exception filter)、结果筛选器(Result...
配置系统与ASP.NET Core
配置系统与ASP.NET Core默认添加的配置提供者1.加载现有的IConfiguration。2.加载项目根目录下的appsettings.json。3.加载项目根目录下的appsettings.{Environment}.json。4.当程序运行在开发环境下,程序会加载“用户机密”配置。5.加载环境变量中的配置。6.加载命令行中的配置。 配置的环境问题1.开发环境、测试环境、生产环境需要进行不同配置。2.运行环境:ASP.NET...
ASP.NET Core Web API基础组件
ASP.NET Core中服务注入的地方1.在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。在Program.cs的builder.Build()之前向builder.Services中注入。2.在Controller中可以通过构造方法注入服务。 定义一个MyService类 12345public class MyService{ public IEnumerable<string> GetName(){ return new string[] {"you","xian","yu"}; }} 在ASP.NET Core项目的Program.cs文件中的var...
Vue快速上手二
生命周期12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758<template> <div class="person"> <h2>当前求和为:{{sum}}</h2> <button @click="add">点击</button> </div></template><script lang="ts" setup>defineOptions({ name: 'person5' })import { ref ,onBeforeMount,onMounted,onBeforeUpdate,...
Vue快速上手一
创建Vue3工程创建一个Vue应用,确保安装了Node.js 1.在命令行中运行以下命令: 1npm create vue@latest 在终端:npm i 会把所有要用的包都下载好 通过package.json文件,在终端命令行中输入: 1npm run dev 启动项目 编写APP组件删除原来的src文件夹,新建一个src文件夹,实现一个小效果。1.在文件夹中创建main.ts和App.vue。2.在main.ts引入createApp,App根组件 123456//引入createApp用于创建应用import { createApp } from "vue"//引入App根组件import App from...
TypeScript快速上手
tsc、TypeScript编译器在终端安装typescript: 1npm i typescript -g 安装完成后可以使用tsc命令来执行typescript的相关代码。 1tsc -v //查看版本号 在vscode新建一个index.ts,输入一下代码: 12345678910111213141516171819202122let a: stringlet b: numberlet c: booleana = 'hello'b = 99c = trueconsole.log(a, b, c)function count(x: number, y: number): number { return x + y}let result = count(1, 2)console.log(result)let srt1: string srt1 = 'youxianyu'console.log(typeof srt1) 直接使用浏览器是不认识的,需要用tsc命令转换为javascript代码: 12tsc...
ASP.NET Core开发Web API
Web API项目的创建在项目模板中选择【ASP.NET Core Web API】创建项目。 可以看到,ASP.NET Core Web API项目的结构和ASP.NET Core MVC项目的结构非常类似,不同的是ASP.NET Core Web API项目没有Views文件夹,因为Web API直接返回的是结构化的数据,不需要提供展示数据的视图。项目中生成的样板代码WeatherForecastController是一个控制器类。 12345678910111213141516171819202122232425262728[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{ private static readonly string[] Summaries = new[] { "Freezing", "Bracing",...
ASP.NET Core Web API各种技术及选择
控制器父类用哪个控制器类都是继承自ControllerBase,而ASP.NET Core MVC项目中的控制器类默认继承自Controller。Controller类继承自ControllerBase,Controller类在ControllerBase的基础上增加了和视图相关的方法,而Web API的接口不涉及视图,因此除非读者需要在同一个控制器中同时提供Web API和MVC的功能,否则Web API的控制器类继承自ControllerBase即可。 操作方法的异步、返回值、状态码ACTION方法的异步1.Action方法既可以同步也可以异步。2.异步Action方法的名字一般不需要以Async结尾。3.Web API中Action方法的返回值如果是普通数据类型,那么返回值就会默认被序列化为Json格式。4.Web...