aspnetcore上传图片也就是上传文件有两种方式,一种是通过form-data,一种是binary。先介绍第一种form-data:该方式需要显示指定一个IFormFile类型,该组件会动态通过打开一个windows窗口选择文件及图片。postman演示如上,代码如下:[HttpPost][AllowAnonymous]publicIActionResultUploadFileByForm(IFormFileformFile){varfile=formFile;if(file==null)returnJsonContent(new{status="error"}.ToJson());str
虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾。第一步电脑找个地克隆下GitHub上的源码下来gitclone--recursivehttps://github.com/dotnet/aspnetcore.git 注意一定要带上recursive,一次性把依赖给下载下来。第二步gittag查看版本(注意该命令需要进入到下载的代码文件夹aspnetcore里执行),一直回车直到显示所有版本,选择自己想要的版本号,记下来,输入!退出。我选择NET6最新v6.0.9版本 第三步执行git
虽然编译源码折腾了几个时间(卡在restore),最后还是跑起来了aspnetcore6.0mvc源码项目,下面说步骤,前提是网络能连外,对于不能连外的懒得折腾。第一步电脑找个地克隆下GitHub上的源码下来gitclone--recursivehttps://github.com/dotnet/aspnetcore.git 注意一定要带上recursive,一次性把依赖给下载下来。第二步gittag查看版本(注意该命令需要进入到下载的代码文件夹aspnetcore里执行),一直回车直到显示所有版本,选择自己想要的版本号,记下来,输入!退出。我选择NET6最新v6.0.9版本 第三步执行git
Configuration视频讲解package说明Microsoft.Extensions.Configuration.Abstractions:抽象包,一大堆的接口Microsoft.Extensions.Configuration.Binder:提供一大堆的扩展,比如类型转换Microsoft.Extensions.Configuration.Json:json实现Microsoft.Extensions.Configuration.CommandLine:命令行实现Microsoft.Extensions.Configuration.EnvironmentVariables:环境变量实
Configuration视频讲解package说明Microsoft.Extensions.Configuration.Abstractions:抽象包,一大堆的接口Microsoft.Extensions.Configuration.Binder:提供一大堆的扩展,比如类型转换Microsoft.Extensions.Configuration.Json:json实现Microsoft.Extensions.Configuration.CommandLine:命令行实现Microsoft.Extensions.Configuration.EnvironmentVariables:环境变量实
IOC视频讲解基础概念Microsoft.Extensions.DependencyInjection.Abstractions:抽象包Microsoft.Extensions.DependencyInjection:实现包IServiceCollection:用于注册服务(菜谱,记录了每一道菜的制作流程)ServiceCollection:IServiceCollection接口默认的派生类ServiceDescriptor:服务描述,(描述某一到菜的制作流程)IServiceProvider:用于解析服务(厨师,可以通过菜名点菜)ActivatorUtilities:有些服务我们不想注册到
IOC视频讲解基础概念Microsoft.Extensions.DependencyInjection.Abstractions:抽象包Microsoft.Extensions.DependencyInjection:实现包IServiceCollection:用于注册服务(菜谱,记录了每一道菜的制作流程)ServiceCollection:IServiceCollection接口默认的派生类ServiceDescriptor:服务描述,(描述某一到菜的制作流程)IServiceProvider:用于解析服务(厨师,可以通过菜名点菜)ActivatorUtilities:有些服务我们不想注册到
AOP视频讲解面向切面编程AOP的对面向对象编程OOP的一个补充,它的特点是将系统逻辑和业务逻辑采取《非侵入式》分离。我们把系统封装成一个一个的切面(单一职责)进行顺意编排组合,插入(织入)到业务逻辑的执行过程(织入点)。系统逻辑:异常处理,身份认证,授权,mvc,数据校验,事务处理。业务逻辑:就是我们的业务Service。切面:用于封装系统逻辑,比如身份认证filter,或者中间件切入点:就是管道的位置。名词织入:就是插入到管道的切入点的过程。动词AOP的特点:1.非侵入式2.低耦合3.代码服用4.单一职责5.可插拔实现方式:1.管道链,比如aspnetcore的中间件,mvc中的Filte
AOP视频讲解面向切面编程AOP的对面向对象编程OOP的一个补充,它的特点是将系统逻辑和业务逻辑采取《非侵入式》分离。我们把系统封装成一个一个的切面(单一职责)进行顺意编排组合,插入(织入)到业务逻辑的执行过程(织入点)。系统逻辑:异常处理,身份认证,授权,mvc,数据校验,事务处理。业务逻辑:就是我们的业务Service。切面:用于封装系统逻辑,比如身份认证filter,或者中间件切入点:就是管道的位置。名词织入:就是插入到管道的切入点的过程。动词AOP的特点:1.非侵入式2.低耦合3.代码服用4.单一职责5.可插拔实现方式:1.管道链,比如aspnetcore的中间件,mvc中的Filte
IdentityServer4实现鉴权、授权,AspNetCoreIdentity实现数据库用户管理表直接生成。ps:IdentityServer4文档上最后给的例子是 //配置使用内存存储用户信息,但使用EF存储客户端和资源信息, 我初步要实现的是//数据库存储用户信息 内存存储资源 (下一步资源也放数据库 以后弄好了有机会更)直接干活:1.创建.Net6API程序,一顿引用,包括防止图片挂掉打一遍文字:IdentityServer4、IdengtityServer4.AspNetIdentity、AspNetCore.Identity.EntityFrameWorkCore(生成数据