前后端分离、Asp.Net Core 依赖注入、缓存
前后端分离
前端Vue环境准备(自行百度)
仅供参考:https://blog.csdn.net/td725430/article/details/124016921
#1.查看vue版本命令
vue --version
#2.启动可视化工具 版本大于3 不然 cli需要 > 4.5
#本人现在优先提升后端,所以目前前端不是重点
vue ui
#先执行命令卸载当前版本,
npm uninstall vue-cli-g
#再执行命令来安装最新版本。
npm install-g vue/cli
#VUE 项目 启动运行先到对应的项目的目录下面 cmd窗口 执行 以下二选一即可
cnpm install #淘宝镜像
npm install
以上步骤结束,依赖完成后,新增node_modules文件夹。然后进入下一步
项目已经建立,执行npm run dev 运行项目,等待结果:然后进入下一步
打开浏览器,输入localhost:8080,出现如下,表示启动成功,就可以进行其他开发了。(端口根据自己本地发布服务实际端口为准)
Asp.Net Core 依赖注入
1:在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。在Program.cs的builder.Build()之前向builder.Services中注入。如下
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddScoped<MyService1>();
var app = builder.Build();
2:在Controller中可以通过构造方法注入服务。
3:把Action用到的服务通过Action的参数注入,在这个参数上标注[FromServices]。和Action的其他参数不冲突。
4:一般不需要,只有调用频率不高并且资源的创建比较消耗资源的服务才[FromServices]。
5:只有Action方法才能用[FromServices] ,普通的类默认不支持
//2——5
[ApiController]
[Route("[controller]/[action]")]
public class TestController : ControllerBase
{
private readonly MyService1 myService1;
public TestController(MyService1 myService1)
{
this.myService1 = myService1;//构造方法注入服务。
}
[HttpGet]
public string Test([FromServices] MyService1 myService1, string name)
{
var names = myService1.GetNames();
return string.Join(",", names) + ",hello:" + name;
}
}
缓存
缓存(Caching)是系统优化中简单又有效的工具,投入小收效大。数据库中的索引等简单有效的优化功能本质上都是缓存。
缓存的概念
1:缓存命中 //请求从缓存中取到了对应的数据
2:缓存命中率//例如100次请求 有70%都是从缓存中获取数据 命中率70% 命中率越高越好
3:缓存数据不一致 //缓存中Age为17 由于登记错误,数据库进行了修改Age为18 查询的时候从缓存中获取为17,此时缓存数据与数据库数据不一致。(面试热点 Redis 使用后带来的问题)
多级缓存
缓存具体内容在后续详解,本文只做概念的引出。
本文内容大部分都为杨中科老师《ASP.NET Core技术内幕与项目实战》一书中内容,此文只是做学习记录,如有侵权,联系立马删除。