diff --git "a/\346\235\250\345\217\257\347\233\210/20240520--.net core.md" "b/\346\235\250\345\217\257\347\233\210/20240520--.net core.md" new file mode 100644 index 0000000000000000000000000000000000000000..c474b15c26ac835b4eca955e23c6fa21b4740731 --- /dev/null +++ "b/\346\235\250\345\217\257\347\233\210/20240520--.net core.md" @@ -0,0 +1,54 @@ +``` +sdk-options: + -d|--diagnostics 启用诊断输出。 + -h|--help 显示命令行帮助。 + --info 显示 .NET 信息。 + --list-runtimes 显示安装的运行时。 + --list-sdks 显示安装的 SDK。 + --version 显示使用中的 .NET SDK 版本。 + +SDK 命令: + add 将包或引用添加到 .NET 项目。 + build 生成 .NET 项目。 + build-server 与由生成版本启动的服务器进行交互。 + clean 清理 .NET 项目的生成输出。 + format 将样式首选项应用到项目或解决方案。 + help 显示命令行帮助。 + list 列出 .NET 项目的项目引用。 + msbuild 运行 Microsoft 生成引擎(MSBuild)命令。 + new 创建新的 .NET 项目或文件。 + nuget 提供其他 NuGet 命令。 + pack 创建 NuGet 包。 + publish 发布 .NET 项目进行部署。 + remove 从 .NET 项目中删除包或引用。 + restore 还原 .NET 项目中指定的依赖项。 + run 生成并运行 .NET 项目输出。 + sdk 管理 .NET SDK 安装。 + sln 修改 Visual Studio 解决方案文件。 + store 在运行时包存储中存储指定的程序集。 + test 使用 .NET 项目中指定的测试运行程序运行单元测试。 + tool 安装或管理扩展 .NET 体验的工具。 + vstest 运行 Microsoft 测试引擎(VSTest)命令。 + workload 管理可选工作负荷。 + +捆绑工具中的其他命令: + dev-certs 创建和管理开发证书。 + fsi 启动 F# 交互/执行 F# 脚本。 + user-jwts 在开发中管理 JSON Web 令牌。 + user-secrets 管理开发用户密码。 + watch 启动文件观察程序,它会在文件发生更改时运行命令。 +``` + +### .NET Core 简介 +.NET Core是一个跨平台的应用程序,.NET Core 包含一下几部分内容: + +- CoreCLR:即.NET Core运行时,包含垃圾回收器、JIT编译器、原生数据类型、本机交互操作及底层类等,CoreCLR使用改进的、跨平台开源编译器RyuJIT作为编译器 +- CoreFX:即.NET Libraries,又称基类库,他是.NET Core的基础类库,实现了.NET Standard,包含集合、文件系统、JSON、异步等API。 +- Roslyn编译器:用于将C#或VB.NET代码编译为程序集。 +- NET Core CLI工具:用于构建.net core应用程序和类库### .NET Core 简介 +.NET Core是一个跨平台的应用程序,.NET Core 包含一下几部分内容: + +- CoreCLR:即.NET Core运行时,包含垃圾回收器、JIT编译器、原生数据类型、本机交互操作及底层类等,CoreCLR使用改进的、跨平台开源编译器RyuJIT作为编译器 +- CoreFX:即.NET Libraries,又称基类库,他是.NET Core的基础类库,实现了.NET Standard,包含集合、文件系统、JSON、异步等API。 +- Roslyn编译器:用于将C#或VB.NET代码编译为程序集。 +- NET Core CLI工具:用于构建.net core应用程序和类库 \ No newline at end of file diff --git "a/\346\235\250\345\217\257\347\233\210/20240521--\345\220\257\345\212\250\344\270\216\345\256\277\344\270\273.md" "b/\346\235\250\345\217\257\347\233\210/20240521--\345\220\257\345\212\250\344\270\216\345\256\277\344\270\273.md" new file mode 100644 index 0000000000000000000000000000000000000000..4d1da38a63ca28d401c333a7689c767981be9687 --- /dev/null +++ "b/\346\235\250\345\217\257\347\233\210/20240521--\345\220\257\345\212\250\344\270\216\345\256\277\344\270\273.md" @@ -0,0 +1,15 @@ +#### 宿主 +在ASP.Net Core中定义了IWebHost用来表示Web应用的宿主,并提供了一个默认实现WebHost。宿主的创建是通过调用IWebHostBuilder的Build()方法来完成的 + +## 中间件 +中间件就是处理HTTP请求和响应的组件,它本质上是一段用来处理请求与响应的代码。 + +#### 创建中间件 +Startup类的Configure方法就是添加中间件的地方,在Configure方法中,通过调用IApplicationBuilder接口以Use开头的扩展方法,就可以添加系统内置的中间件。 + +``` +ASP.NET Core应用程序的启动主要包含三个步骤: +- CreateDefaultBuilder():创建IWebHostBuilder +- Build():IWebHostBuilder负责创建IWebHost +- Run():启动IWebHost +``` \ No newline at end of file diff --git "a/\346\235\250\345\217\257\347\233\210/20240523--\344\276\235\350\265\226\346\263\250\345\205\245.md" "b/\346\235\250\345\217\257\347\233\210/20240523--\344\276\235\350\265\226\346\263\250\345\205\245.md" new file mode 100644 index 0000000000000000000000000000000000000000..36ec23d6626439bbe3f584bd12e14f311348e30b --- /dev/null +++ "b/\346\235\250\345\217\257\347\233\210/20240523--\344\276\235\350\265\226\346\263\250\345\205\245.md" @@ -0,0 +1,52 @@ +### 依赖注入 +依赖注入是一种新的设计模式,通过正确使用依赖注入的相关技术,可以降低系统耦合度,增加系统的可扩展性。 +Program.cs +```c# +namespace MyWebApi; +public class Program{ + + public static void Main(string[] args){ + + CreateWebHostBuilder(args).Build().Run(); + } + + + public static IHostBuilder CreateWebHostBuilder(string[] args) + { + + return Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(builder=>{ + builder.UseStartup(); + }); + } +} +``` +Startup.cs +```c# +namespace MyWebApi; +public class Startup{ + public void ConfigureServices(IServiceCollection services){ + + services.AddControllers(); + } + + public void Configure(IApplicationBuilder app){ + app.UseEndpoints(endPoint=>{ + endPoint.MapControllers(); + }); + +} +} + +``` + +/Controllers/BookControllers.cs +```c# +using Microsoft.AspNetCore.Mvc; +namespace MyWebApi; +[Route("/book")] +public class BookController:Controller{ + public IActionResult Index(){ + return Ok("6"); + } +} +``` \ No newline at end of file diff --git "a/\346\235\250\345\217\257\347\233\210/20240524--0523.md" "b/\346\235\250\345\217\257\347\233\210/20240524--0523.md" new file mode 100644 index 0000000000000000000000000000000000000000..b3b3af38eeaee5fe75514a800e766959d42776f9 --- /dev/null +++ "b/\346\235\250\345\217\257\347\233\210/20240524--0523.md" @@ -0,0 +1,52 @@ +### 应用程序的启动 + +Program.cs +```c# +namespace MyWebApi; +public class Program{ + + public static void Main(string[] args){ + + CreateWebHostBuilder(args).Build().Run(); + } + + + public static IHostBuilder CreateWebHostBuilder(string[] args) + { + + return Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(builder=>{ + builder.UseStartup(); + }); + } +} +``` +Startup.cs +```c# +namespace MyWebApi; +public class Startup{ + public void ConfigureServices(IServiceCollection services){ + + services.AddControllers(); + } + + public void Configure(IApplicationBuilder app){ + app.UseEndpoints(endPoint=>{ + endPoint.MapControllers(); + }); + +} +} + +``` + +/Controllers/BookControllers.cs +```c# +using Microsoft.AspNetCore.Mvc; +namespace MyWebApi; +[Route("/book")] +public class BookController:Controller{ + public IActionResult Index(){ + return Ok("6"); + } +} +``` \ No newline at end of file