ASP.NET Core 2.1 是微软推出的一种开源、跨平台的 Web 开发框架。它具备高度可扩展性和灵活性,可以用于构建各种类型的应用程序,包括 Web 应用、Web API、移动应用和云服务等。
本教程将详细介绍如何使用 ASP.NET Core 2.1 开发跨平台应用程序,并给出一些实例和最佳实践。
目录
- 安装 ASP.NET Core 2.1 SDK
- 创建新的 ASP.NET Core 2.1 项目
- 构建 Web API
- 创建一个简单的页面
- 使用 ASP.NET Core Identity 管理用户
- 部署应用程序到不同的平台
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 开发中取得成功!
本文来自极简博客,作者:科技创新工坊,转载请注明原文链接:ASP.NET Core 2.1 开发跨平台应用教程