郭震 AI公众号:郭震AI

8 创建第一个ASP.NET Core应用之项目结构详解

发布日期:

分类: ASP.NET

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点3 个
图文要点0 张
正文规模1.2k 字

在上一篇中,我们已经完成了创建第一个ASP.NET Core应用的步骤,接下来我们将对项目的结构进行深入解析。理解项目的结构对于日后的开发至关重要,因为它决定了我们如何组织代码和资源,从而提高开发效率。

一、项目结构概述

一个典型的ASP.NET Core项目在创建后,会生成一个标准的项目结构。以下是一个基本的ASP.NET Core项目的目录结构:

MyFirstAspNetCoreApp/
│
├── wwwroot/
│   ├── css/
│   ├── js/
│   └── lib/
│
├── Controllers/
│   └── HomeController.cs
│
├── Models/
│   └── ExampleModel.cs
│
├── Views/
│   └── Home/
│       └── Index.cshtml
│
├── appsettings.json
├── Program.cs
└── Startup.cs

各个部分的详细解析

1. wwwroot/ 文件夹

wwwroot 文件夹是用于存放静态文件的地方,如 HTML、CSS、JavaScript 和图像等。这些文件可以直接通过 URL 访问,相当于项目的“根”目录。例如,如果在 wwwroot/css/style.css 中有一个样式文件,我们可以通过 http://localhost:5000/css/style.css 直接访问它。

注意:确保所有静态文件都放在 wwwroot 文件夹内,以便它们能被正确地托管。

2. Controllers/ 文件夹

Controllers 文件夹存放控制器类。控制器是 MVC 模式中的核心组成部分,负责处理用户的输入并返回相应的结果。例如,我们创建一个简单的控制器 HomeController.cs 如下:

using Microsoft.AspNetCore.Mvc;

namespace MyFirstAspNetCoreApp.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
}

在上面的代码中,Index 方法将返回一个视图。

3. Models/ 文件夹

Models 文件夹用于存放数据模型和业务逻辑。模型通常与我们的数据库交互,并负责数据的验证和管理。以下是一个简单的模型示例 ExampleModel.cs

namespace MyFirstAspNetCoreApp.Models
{
    public class ExampleModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

4. Views/ 文件夹

Views 文件夹中存放视图文件。视图负责显示用户界面,通常使用 Razor 语法。假设我们在 Views/Home 文件夹中有一个 Index.cshtml 文件:

@{
    ViewData["Title"] = "Home Page";
}

<h1>Hello, ASP.NET Core!</h1>
<p>Welcome to your first ASP.NET Core application.</p>

5. appsettings.json

appsettings.json 文件用于存储应用程序的配置设置。你可以在这里定义数据库连接字符串、日志级别等。例如:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
        }
  },
  "AllowedHosts": "*"
}

6. Program.cs

Program.cs 是应用程序的入口点。其中包含 Main 方法,负责启动应用程序并设置 Web 服务器。例如:

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

7. Startup.cs

Startup.cs 文件定义了应用程序的请求处理管道、服务配置等。在这里,我们可以配置服务,例如添加 MVC 支持:

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
    }

    public void Configure(IApplicationBuilder app)
    {
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}

小结

通过了解每个文件夹和文件的功能,我们可以更有效地组织和管理我们的代码。ASP.NET Core 提供了一个灵活且结构清晰的设计,使得开发者能够快速上手并进行扩展。

下一篇文章我们将会探讨如何运行这个应用程序并观察它的行为。希望大家对项目结构的解析有所帮助,提前打下良好的基础。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关内容

更多相关文章

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...