.NET 8 WebAPI项目创建部署记录

随着微服务架构的普及,.NET平台逐渐成为了开发RESTful API的重要选择。本文将记录##如何创建和部署一个基于.NET 8的WebAPI项目。

一、环境准备

在开始之前,确保你已经安装了以下环境:

  1. .NET 8 SDK
  2. Visual Studio 2022或Visual Studio Code
  3. SQL Server(或其他数据库)
  4. Postman(用于接口测试)

二、创建项目

  1. 创建新的WebAPI项目

打开命令行工具,执行如下命令来创建一个新的WebAPI项目:

dotnet new webapi -n MyWebApi

这将创建一个名为MyWebApi的WebAPI项目目录。

  1. 项目结构

进入项目目录,查看项目结构:

cd MyWebApi

项目结构如下:

MyWebApi/
  ├── Controllers/
  ├── Models/
  ├── Program.cs
  ├── Startup.cs
  ├── MyWebApi.csproj
  1. 添加控制器

Controllers文件夹下创建一个新的控制器WeatherForecastController.cs,内容如下:

using Microsoft.AspNetCore.Mvc;

namespace MyWebApi.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
        }
    }

    public class WeatherForecast
    {
        public DateTime Date { get; set; }
        public int TemperatureC { get; set; }
        public string? Summary { get; set; }
    }
}
  1. 启动项目

在项目目录中,通过以下命令启动WebAPI:

dotnet run

此时,API将在默认的5000端口和5001端口上运行(HTTP和HTTPS)。你可以使用Postman或者浏览器访问http://localhost:5000/weatherforecast

三、数据库配置

在这个示例中,我们将使用Entity Framework Core来连接SQL Server数据库。首先安装相应的NuGet包:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

然后,创建一个Data文件夹和一个上下文类AppDbContext.cs

using Microsoft.EntityFrameworkCore;

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

        public DbSet<WeatherForecast> WeatherForecasts { get; set; }
    }
}

Program.cs中添加数据库上下文的服务注册:

builder.Services.AddDbContext<AppDbContext>(options =>
    options.UseSqlServer("YourConnectionStringHere"));

四、部署项目

要将WebAPI部署到服务器,通常有以下几种方式:

  1. 使用IIS进行托管
  2. 在Windows Server中配置IIS,并设置应用程序池。
  3. 部署应用程序文件到指定的物理路径。
  4. 配置应用程序的基本设置,确保可以访问。

  5. 使用Docker容器

  6. 创建一个Dockerfile,内容示例如下:

```dockerfile FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /src COPY ["MyWebApi/MyWebApi.csproj", "MyWebApi/"] RUN dotnet restore "MyWebApi/MyWebApi.csproj" COPY . . WORKDIR "/src/MyWebApi" RUN dotnet build "MyWebApi.csproj" -c Release -o /app/build

FROM build AS publish RUN dotnet publish "MyWebApi.csproj" -c Release -o /app/publish

FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "MyWebApi.dll"] ```

  • 构建Docker镜像并运行:

bash docker build -t mywebapi . docker run -d -p 8080:80 mywebapi

五、总结

以上就是一个简单的.NET 8 WebAPI项目的创建和部署记录。从项目创建到数据库配置,再到最终的部署,整个过程清晰明了。希望可以帮助到正在学习和使用.NET 8的开发者们。通过不断的实践,大家将能更加熟悉这个强大的技术栈,开发出高效的WebAPI应用。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部