编辑
2025-02-03
ASP.NET Core 入门
00
请注意,本文编写于 92 天前,最后修改于 92 天前,其中某些信息可能已经过时。

目录

文件和文件夹结构概览
依赖项文件夹
分析器
框架
控制器文件夹
Properties文件夹
appsettings.json 文件
MyFirstWebAPIProject.http 文件
程序和运行

在本文中,我们将探讨在使用 Visual Studio 2022 和 .NET 8 创建新的 ASP.NET Core Web API 应用程序时,默认生成的文件和文件夹结构。如果您想了解如何创建、构建和运行 ASP.NET Core Web API,请参阅我们之前的文章。

文件和文件夹结构概览

在上一篇文章中,我们使用 Visual Studio 2022 和 .NET 8 创建了一个 ASP.NET Core Web API 项目,并介绍了其默认的文件和文件夹结构。

image.png

依赖项文件夹

依赖项文件夹包含项目中安装的所有包和SDK。展开后,您可以看到三个子文件夹:

image.png

分析器

  • 静态代码分析:分析器在代码编写过程中进行静态代码分析,提供实时反馈和建议。
  • 代码标准和风格执行:帮助强制执行代码命名规范、布局规则和最佳实践。
  • 识别常见编码问题和错误:例如,可能导致空引用异常的代码。
  • 性能优化:指出代码性能可以改进的地方。
  • 重构和代码改进建议:建议使用新的语言特性或更合适的设计模式。

框架

  • 包含项目所依赖的各种框架信息。

控制器文件夹

ASP.NET Core Web API 采用基于控制器的方法。所有控制器都应该位于“Controllers”文件夹中。例如,一个名为 WeatherForecastController 的控制器,其代码如下:

C#
using Microsoft.AspNetCore.Mvc; namespace MyFirstWebAPIProject.Controllers { [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; private readonly ILogger<WeatherForecastController> _logger; public WeatherForecastController(ILogger<WeatherForecastController> logger) { _logger = logger; } [HttpGet(Name = "GetWeatherForecast")] public IEnumerable<WeatherForecast> Get() { return Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), TemperatureC = Random.Shared.Next(-20, 55), Summary = Summaries[Random.Shared.Next(Summaries.Length)] }).ToArray(); } } }

Properties文件夹

launchSettings.json 文件是一个非常重要的配置文件,它位于项目的 Properties 文件夹下。这个文件主要用于配置项目的启动设置,包括环境变量、应用程序URL、启动浏览器等选项。这些设置主要用于开发环境,帮助开发者快速启动和测试应用。

JSON
{ "$schema": "http://json.schemastore.org/launchsettings.json", // JSON schema的URL,用于编辑器支持和验证JSON结构 "iisSettings": { // IIS特定的设置 "windowsAuthentication": false, // 是否启用Windows身份验证 "anonymousAuthentication": true, // 是否启用匿名身份验证 "iisExpress": { "applicationUrl": "http://localhost:47522", // IIS Express运行时的应用程序URL "sslPort": 44389 // IIS Express使用的SSL端口 } }, "profiles": { // 定义多个启动配置文件 "http": { // “http”配置 "commandName": "Project", // 使用项目文件启动,即直接通过dotnet运行 "dotnetRunMessages": true, // 是否显示dotnet运行时的消息 "launchBrowser": true, // 启动时是否打开浏览器 "launchUrl": "swagger", // 浏览器启动时打开的URL,这里是swagger页面 "applicationUrl": "http://localhost:5059", // 应用程序的HTTP URL "environmentVariables": { // 环境变量设置 "ASPNETCORE_ENVIRONMENT": "Development" // 设置环境为开发模式 } }, "https": { // “https”配置 "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", "applicationUrl": "https://localhost:7169;http://localhost:5059", // 应用程序的HTTPS和HTTP URL "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "IIS Express": { // IIS Express配置 "commandName": "IISExpress", "launchBrowser": true, "launchUrl": "swagger", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }

appsettings.json 文件

此文件用于配置项目的设置,如数据库连接字符串、日志设置等。它支持环境特定的版本,如 appsettings.Development.json,这些文件可以根据应用程序运行的环境覆盖默认设置。

MyFirstWebAPIProject.http 文件

这是一个在 IDE 中直接测试 HTTP 请求的功能文件。例如,使用 JetBrains Rider 或 Visual Studio Code 时,可以直接在 IDE 中发送 HTTP 请求并查看响应。

Http
@MyFirstWebAPIProject_HostAddress = http://localhost:5059 GET {{MyFirstWebAPIProject_HostAddress}}/weatherforecast/ Accept: application/json

程序和运行

创建和构建 Web 应用程序的过程涉及设置服务和配置,然后通过中间件配置 HTTP 请求管道。最后,使用 app.Run(); 方法启动应用程序。

C#
var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();

以上就是使用 Visual Studio 和 .NET 8 创建 ASP.NET Core Web API 项目时遇到的常见文件和目录。希望本文能帮助您更好地理解 ASP.NET Core Web API 项目的默认文件和文件夹结构。

本文作者:rick

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!