ASP.NET Core应用开发实战指南

云计算瞭望塔 2023-01-17 ⋅ 19 阅读

ASP.NET Core

ASP.NET Core 是一个跨平台、高性能、开源的框架,用于构建现代化的 Web 应用程序。它是 ASP.NET 的下一个版本,为了更好地适应云环境、容器化部署以及移动设备开发而进行了许多重大改进。

在本篇博客中,我将分享一些 ASP.NET Core 应用开发的实战指南,帮助开发者更好地使用这个强大的框架。

1. 安装 ASP.NET Core

首先,我们需要安装 ASP.NET Core。可以在官方网站 https://dotnet.microsoft.com/download 上下载最新的 ASP.NET Core SDK,并按照官方文档的指引进行安装。

安装完成后,可以在命令行中运行 dotnet --version 命令,查看是否安装成功。

2. 创建一个 ASP.NET Core 应用

创建一个新的 ASP.NET Core 应用非常简单。可以使用命令行工具或者 Visual Studio 来创建。

使用命令行工具,在项目文件夹中运行以下命令:

dotnet new web -n MyApp

这将创建一个名为 "MyApp" 的新的 ASP.NET Core Web 应用。

使用 Visual Studio,选择 "新建项目",然后在 "搜索项目类型" 框中输入 "ASP.NET Core Web 应用",选择合适的模板,点击 "下一步" 按钮,按照向导完成项目的创建。

3. 开发一个简单的 Web 应用

为了演示 ASP.NET Core 应用开发的基本过程,让我们创建一个简单的 "Hello World" Web 应用。

在项目文件夹中创建一个名为 "HomeController.cs" 的文件,将以下代码复制到文件中:

using Microsoft.AspNetCore.Mvc;

namespace MyApp.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return Content("Hello World!");
        }
    }
}

这是一个简单的控制器,它有一个名为 "Index" 的方法,返回一个字符串 "Hello World!"。

接下来,在项目文件夹中创建一个名为 "Startup.cs" 的文件,将以下代码复制到文件中:

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

namespace MyApp
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseRouting();

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

这是一个 ASP.NET Core 应用的启动类,它配置了应用的服务和中间件。

最后,在项目文件夹中创建一个名为 "Program.cs" 的文件,将以下代码复制到文件中:

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

namespace MyApp
{
    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>();
                });
    }
}

这是一个用来创建和运行 ASP.NET Core 应用的入口类。

现在,我们可以在命令行中运行以下命令来启动应用:

dotnet run

然后在浏览器中访问 http://localhost:5000,应该能看到 "Hello World!" 字样。

4. 添加数据库支持

在许多应用中,与数据库进行交互是非常重要的。ASP.NET Core 提供了许多不同的方法来实现与数据库的集成,包括 Entity Framework Core、Dapper 等。

在本例中,我们将使用 Entity Framework Core 来添加数据库支持。

首先,确保已经在项目中安装了 Entity Framework Core。可以在项目文件中的 <ItemGroup> 元素中添加以下代码:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="X.X.X" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="X.X.X" />

然后,在项目文件夹中创建一个名为 "MyDbContext.cs" 的文件,将以下代码复制到文件中:

using Microsoft.EntityFrameworkCore;

namespace MyApp
{
    public class MyDbContext : DbContext
    {
        public DbSet<User> Users { get; set; }
        // 定义其他实体类...

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("your_connection_string");
        }
    }
}

这是一个简单的 DbContext 类,它定义了一个名为 "Users" 的 DbSet 属性,并在 OnConfiguring 方法中配置了与 SQL Server 数据库的连接字符串。

接下来,我们需要创建一个实体类来映射数据库中的表。在项目文件夹中创建一个名为 "User.cs" 的文件,将以下代码复制到文件中:

using System.ComponentModel.DataAnnotations;

namespace MyApp
{
    public class User
    {
        [Key]
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }
}

这是一个简单的实体类,它有三个属性:Id、Name 和 Age。

现在,我们可以在控制器中使用 DbContext 来访问数据库。修改 "HomeController.cs" 文件中的代码,将以下代码复制到文件中:

using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;

namespace MyApp.Controllers
{
    public class HomeController : Controller
    {
        private readonly MyDbContext _dbContext;

        public HomeController(MyDbContext dbContext)
        {
            _dbContext = dbContext;
        }

        public IActionResult Index()
        {
            var users = _dbContext.Users.ToList();
            return View(users);
        }
    }
}

这将在控制器的构造函数中注入 MyDbContext,并在 Index 方法中使用它来获取用户列表。

最后,我们需要在视图中显示用户列表。在项目文件夹中创建一个名为 "Index.cshtml" 的文件,将以下代码复制到文件中:

@model IEnumerable<MyApp.User>

<h1>Users</h1>

<table>
    <tr>
        <th>Id</th>
        <th>Name</th>
        <th>Age</th>
    </tr>
    @foreach (var user in Model)
    {
        <tr>
            <td>@user.Id</td>
            <td>@user.Name</td>
            <td>@user.Age</td>
        </tr>
    }
</table>

这是一个简单的 Razor 视图,它使用 Model 属性来访问控制器中传递过来的用户列表,并将其显示在一个表格中。

现在,我们可以重新启动应用,并在浏览器中访问 http://localhost:5000,应该能看到从数据库中获取到的用户列表。

5. 总结

本篇博客介绍了 ASP.NET Core 应用开发的实战指南。我们学习了如何安装 ASP.NET Core、创建一个简单的 Web 应用,以及如何添加数据库支持。

ASP.NET Core 是一个功能强大、灵活易用的框架,适用于构建各种类型的应用程序,包括 Web 应用、Web API、移动应用等。它提供了许多强大的功能和工具,使开发者能够更高效地开发和部署应用。

希望这篇博客对你有所帮助,如果你对 ASP.NET Core 带来的新特性和实践有兴趣,欢迎继续深入学习和探索。


全部评论: 0

    我有话说: