ASP.NET Core 2.1 开发跨平台应用教程

科技创新工坊 2024-03-04 ⋅ 28 阅读

ASP.NET Core

ASP.NET Core 2.1 是微软推出的一种开源、跨平台的 Web 开发框架。它具备高度可扩展性和灵活性,可以用于构建各种类型的应用程序,包括 Web 应用、Web API、移动应用和云服务等。

本教程将详细介绍如何使用 ASP.NET Core 2.1 开发跨平台应用程序,并给出一些实例和最佳实践。

目录

  1. 安装 ASP.NET Core 2.1 SDK
  2. 创建新的 ASP.NET Core 2.1 项目
  3. 构建 Web API
  4. 创建一个简单的页面
  5. 使用 ASP.NET Core Identity 管理用户
  6. 部署应用程序到不同的平台

1. 安装 ASP.NET Core 2.1 SDK

首先,我们需要安装 ASP.NET Core 2.1 SDK。在微软的官方网站上可以找到适用于不同操作系统的安装包。根据你的操作系统类型,选择合适的安装程序下载并运行,按照安装向导执行步骤即可完成安装。

2. 创建新的 ASP.NET Core 2.1 项目

使用 dotnet 命令行工具,我们可以创建一个新的 ASP.NET Core 2.1 项目。打开控制台(命令提示符或终端),进入你希望创建项目的目录,并输入以下命令:

dotnet new webapi -o MyWebApi

这将创建一个名为 MyWebApi 的新项目,并且使用 Web API 模板作为基础。你可以根据需要选择其他模板,如 Web 应用模板或空白模板。

3. 构建 Web API

现在我们已经创建了一个新的 ASP.NET Core 2.1 项目,接下来开始构建一个简单的 Web API。

首先,在项目根目录下打开终端或命令提示符,输入以下命令来启动应用程序:

dotnet run

然后,打开浏览器,输入 http://localhost:5000/api/values,你应该能够看到返回的 JSON 数据。

接着,我们可以在 Controllers 文件夹中创建一个新的控制器。示例代码如下:

[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        return new string[] { "value1", "value2" };
    }

    [HttpGet("{id}")]
    public ActionResult<string> Get(int id)
    {
        return "value";
    }

    [HttpPost]
    public void Post([FromBody] string value)
    {
    }

    [HttpPut("{id}")]
    public void Put(int id, [FromBody] string value)
    {
    }

    [HttpDelete("{id}")]
    public void Delete(int id)
    {
    }
}

在这个示例控制器中,我们创建了几个动作方法来处理各种不同的 HTTP 请求。你可以根据自己的需求自定义各个方法。

4. 创建一个简单的页面

除了 Web API,ASP.NET Core 2.1 也支持创建网页应用。我们可以使用 Razor 页面模板来创建一个简单的页面。

首先,在项目根目录下创建一个名为 Index.cshtml 的文件,并添加以下内容:

@page
@model IndexModel
<!DOCTYPE html>
<html>
<head>
    <title>My Web App</title>
</head>
<body>
    <h1>Welcome to My Web App!</h1>
    <p>@Model.Message</p>
</body>
</html>

接着,在项目根目录下创建一个名为 Index.cshtml.cs 的文件,并添加以下内容:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace MyWebApp.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; } = "Hello, World!";

        public void OnGet()
        {
        }
    }
}

最后,在 Startup.cs 文件中配置路由:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseMvc();
}

现在启动应用程序,并访问 http://localhost:5000,你应该能够看到新创建的网页。

5. 使用 ASP.NET Core Identity 管理用户

ASP.NET Core 2.1 还提供了一个方便的方式来管理用户和身份验证。通过使用 ASP.NET Core Identity,我们可以轻松地实现用户注册、登录和访问控制等功能。

首先,安装 Microsoft.AspNetCore.Identity NuGet 包:

dotnet add package Microsoft.AspNetCore.Identity

然后,我们需要配置 AppDbContext 数据库上下文和 IdentityUser 用户实体类。示例代码如下:

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace MyWebApp.Data
{
    public class AppDbContext : IdentityDbContext
    {
        public AppDbContext(DbContextOptions<AppDbContext> options)
            : base(options)
        {
        }
    }
}

Startup.cs 中,我们需要注册 ASP.NET Core Identity 服务:

public void ConfigureServices(IServiceCollection services)
{
    // ...

    services.AddDbContext<AppDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddDefaultIdentity<IdentityUser>()
        .AddEntityFrameworkStores<AppDbContext>();
        
    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // ...
    
    app.UseAuthentication();
    app.UseMvc();
}

现在,我们可以使用 ASP.NET Core Identity 提供的 API 来管理用户。

6. 部署应用程序到不同的平台

ASP.NET Core 2.1 提供了众多选项来部署应用程序到不同的平台。你可以选择使用 Docker 容器、Azure App Service、AWS、Google Cloud Platform 或任何你喜欢的云服务供应商。

在部署之前,我们需要修改 Startup.cs 中的代码,以适应特定平台的要求。例如,使用适当的数据库提供程序、设置安全设置和日志记录等。

按照所选平台的指南,将应用程序部署到你的目标环境中。确保你已经创建了所需的资源,并正确配置了连接字符串、证书和其他相关设置。

结论

本教程详细介绍了如何使用 ASP.NET Core 2.1 开发跨平台应用程序。通过学习这些基础知识,你可以构建功能强大且灵活的应用程序,为用户提供一个出色的体验。

希望这个教程能帮助到你,如果你有任何疑问或建议,请随时留言。祝你在 ASP.NET Core 2.1 开发中取得成功!


全部评论: 0

    我有话说: