.net 5 源码 解读

1..Net 的体型架构:

AppModel
BCL
Runtime

2.框架升级,体积变大,无法适应云开发,移动开发,不能按需加载,跨平台
.net core 大类库拆分--组件化--nuget 按需加载安装

c#/f# -->编译器--.dll/exe(metadata,IL)-->CLR/JIT --机器码01010101

多平台 CLR--BCL 一套支持

U3D是c++写的底层,c#写的逻辑
表面光鲜亮丽,背后千疮百孔

.net framework(WPF,WinForms,ASP.NET) + .net core(.net core,asp.net core) + xamarin(ios,android)

 

3.net 5 统一开发平台:

desktop:window forms
web:asp.net
cloud azure
mobile:xamarin
game:
Iot:arm32,arm64
AI:


.net 6 LTS

 

4 .net 5 移除的:

ASP.NET webforms
wcf:windows communication foundation
wwf:window workflow foundation

vs2022
https://visualstudio.microsoft.com/zh-has/vs/preview/vs2022

 

5.asp.net core 源码下载

https://github.com/dotnet/aspnetcore
https://github.com/dotnet/runtime //extend扩展卡
https://github.com/dotnet/kestrelhttpserver

https://pan.baidu.com/s/

源码依赖node.js +java jdk


理解流程--扩展定制--掌握心法
理解设计模式,抓住核心套路


6.asp.netcore 全貌:
program:main-->startup初始化配置,IOC,HTTP Request,-->appsettings-->mvc
startup
mvc
appsettings


初始化 ---启动流程:net6/asp.netcore/src/mvc/startvs.cmd启动
请求来了--运行流程


实例化host: createwebhostbuilder:实例化builder --> 多次初始化
host.Run(): application -->middleware KesterlServerImpl

 


没有runtime,没有Kesterl


skywalking 链路追踪:抓取请求信息,
hostingStartupAttribute,木马

1.必须实现IHostingStartup
2.namespace 必须标记HostingStartup特性

相关文章:

  • 2021-11-30
  • 2021-11-30
  • 2021-05-24
  • 2022-12-23
  • 2021-10-21
  • 2021-09-20
  • 2021-11-04
  • 2021-10-12
猜你喜欢
  • 2021-07-08
  • 2021-05-17
  • 2021-11-01
  • 2021-07-16
  • 2022-02-25
  • 2021-10-02
  • 2021-08-12
相关资源
相似解决方案