iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >.NET 6开发TodoList应用怎么实现
  • 218
分享到

.NET 6开发TodoList应用怎么实现

2023-06-22 05:06:52 218人浏览 八月长安
摘要

这篇文章主要介绍“.net 6开发TodoList应用怎么实现”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NE

这篇文章主要介绍“.net 6开发TodoList应用怎么实现”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NET 6开发TodoList应用怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.列说明

选择TodoList的原因是这个项目足够简单,但是也足够去覆盖我希望覆盖到的知识点,对于读者来说,有以下一些建议的前置要求:

  • 需要会写C#,不需要.NET (Core)相关的开发经验。

  • 需要后端服务的开发经验,对基本的服务端相关特性有一定的认识。

  • 有对Clean Architecture的基本理解。

2.系列导航

2.1 使用.NET 6开发TodoList应用文章索引

附:.NET 6 Web API项目代码上的变化

2.1.1创建项目
mkdir ProjectName && cd ProjectNamedotnet new sln -n Sampleapidotnet new project -f net6.0 -n SampleApi -o SampleApidotnet sln SampleApi.sln add SampleApi/SampleApi.csprojdotnet restoredotnet run -p SampleApi/SampleApi.csproj
2.1.2.NET 6 webapi Program.cs的变更
var builder = WEBApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddControllers();builder.Services.AddEndpointsApiExplorer();builder.Services.AddswaggerGen();var app = builder.Build();// Configure the Http request pipeline.if (app.Environment.IsDevelopment()){    app.UseSwagger();    app.UseSwaggerUI();}app.UsehttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();
2.1.3Change 1: Top-level statements

顶级声明使得我们在编写Program类时可以不用再定义该类,省略Main函数定义,直接开始写方法体。编译器会在编译阶段为我们自动加上命名空间和相关定义。

2.1.4Change 2: Implicit using directives

隐式using指令是编译器根据项目类型,在编译阶段自动生成一个名为CompanyEmployees.GlobalUsings.g.cs的文件,

内容如下:

// <auto-generated/>global using global::Microsoft.Aspnetcore.Builder;global using global::Microsoft.AspNetCore.Hosting;global using global::Microsoft.AspNetCore.Http;global using global::Microsoft.AspNetCore.Routing;global using global::Microsoft.Extensions.Configuration;global using global::Microsoft.Extensions.DependencyInjection;global using global::Microsoft.Extensions.Hosting;global using global::Microsoft.Extensions.Logging;global using global::System;global using global::System.Collections.Generic;global using global::System.IO;global using global::System.Linq;global using global::System.Net.Http;global using global::System.Net.Http.JSON;global using global::System.Threading;global using global::System.Threading.Tasks;

也可以在CompanyEmployees.csproj工程配置文件中修改以下属性,禁用全局隐式using指令这一特性:

<!-- <ImplicitUsings>enable</ImplicitUsings> --><ImplicitUsings>disable</ImplicitUsings>
2.1.5Change 3: No Startup class

到了.NET 6,陪伴我们好几个版本至今的ConfigureServices and Configure方法终于消失了,取而代之的是这两部分的配置都集中在了Program.cs中。曾经写过.net core WebAPI的小伙伴不难看出来现在应该写在哪里。

对于一些大型项目来说,这两部分我们肯定不能就这样写在Program.cs里面,后面将会想办法把这两部分单独拆开进行配置。

当然,老版本的含有Startup.cs的项目在.NET 6下打开没有任何问题。

2.2 关于Pipeline的一些知识点

2.2.1Pipeline Sequence
  • ExceptionHandler

  • HSTS

  • HttpsRedirection

  • Static Files

  • Routing

  • CORS

  • Authentication

  • Authorization

  • Custom Middlewares

  • Endpoint Configuration

2.2.2app.Run和app.Use

app.Run用于终止Pipeline的链式调用并向客户端返回

public static void Run(this IApplicationBuilder app, RequestDelegate handler);public delegate Task RequestDelegate(HttpContext context);

app.Use用于向Pipeline中插入一段逻辑作为链式调用的其中一个环节

public static IApplicationBuilder Use(this IApplicationBuilder app, Func<HttpContext,Func<Task>, Task> middleware);
2.2.3app.Map和app.MapWhen

这两个方法都是用于在middleware的链式调用中进行分支Pipeline调用链处理。

public static IApplicationBuilder Map(this IApplicationBuilder app, PathStringpathMatch, Action<IApplicationBuilder> configuration)  public static IApplicationBuilder MapWhen(this IApplicationBuilder app,Func<HttpContext, bool> predicate, Action<IApplicationBuilder> configuration)

app.MapGet、app.MapPost、app.MapPut、app.Delete、app.MapMethods

在.NET 6中一个新增的特性叫做Minimal APIs,允许应用程序以这种形式响应客户端的请求,在快速构建微服务应用的过程中十分好用,在这个系列里,因为构建的是一个单体应用,这部分知识点我打算放到第二个系列关于微服务开发实践中去,看有没有更合适的场景去展示。

到此,关于“.NET 6开发TodoList应用怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: .NET 6开发TodoList应用怎么实现

本文链接: https://www.lsjlt.com/news/302834.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • .NET 6开发TodoList应用怎么实现
    这篇文章主要介绍“.NET 6开发TodoList应用怎么实现”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NE...
    99+
    2023-06-22
  • .NET 6开发TodoList应用怎么实现查询排序
    这篇文章主要讲解了“.NET 6开发TodoList应用怎么实现查询排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET 6开发TodoList应用怎么实现查询排序...
    99+
    2023-06-22
  • .NET 6开发TodoList应用怎么实现数据塑形
    这篇文章主要介绍“.NET 6开发TodoList应用怎么实现数据塑形”,在日常操作中,相信很多人在.NET 6开发TodoList应用怎么实现数据塑形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-22
  • .NET 6开发TodoList应用实现系列背景
    目录1.列说明2.系列导航2.1 使用.NET 6开发TodoList应用文章索引2.1.1创建项目2.1.2.NET 6 WebAPI Program.cs的变更2.1.3Chan...
    99+
    2024-04-02
  • .NET 6开发TodoList应用之实现Repository模式
    目录需求目标原理和思路实现通用Repository实现引入使用验证总结参考资料需求 经常写CRUD程序的小伙伴们可能都经历过定义很多Repository接口,分别做对应的实现,依赖注...
    99+
    2024-04-02
  • .NET 6开发TodoList应用之如何实现PUT请求
    这篇文章将为大家详细讲解有关.NET 6开发TodoList应用之如何实现PUT请求,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求PUT请求本身其实可说的并不多,过程也和创建基本类似。在这篇...
    99+
    2023-06-22
  • .NET 6开发TodoList应用之使用MediatR实现POST请求
    目录需求目标原理与思路CQRS模式中介者Mediator模式MediatR实现引入MediatR实现Post请求验证创建TodoList验证创建TodoItem验证总结参考资料需求 ...
    99+
    2024-04-02
  • .NET 6开发TodoList应用中如何实现全局异常处理
    本篇文章为大家展示了.NET 6开发TodoList应用中如何实现全局异常处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。需求因为在项目中,会有各种各样的领域异常或系统异常被抛出来,那么...
    99+
    2023-06-22
  • 怎么使用.NET 6开发TodoList应用引入数据存储
    本篇内容主要讲解“怎么使用.NET 6开发TodoList应用引入数据存储”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用.NET 6开发TodoList应用引入数据存...
    99+
    2023-06-22
  • .NET 6开发TodoList应用引入第三方日志库
    目录1.需求2.目标3.原理和思路4.实现4.1日志配置实现4.2主程序配置4.3注入使用5.验证1.需求 在我们项目开发的过程中,使用.NET 6自带的日志系统有时是不能满足实际...
    99+
    2024-04-02
  • .NET 6开发TodoList应用之实现DELETE请求与HTTP请求幂等性
    目录需求目标原理与思路实现验证总结需求 先说明一下关于原本想要去更新的PATCH请求的文章,从目前试验的情况来看,如果是按照.NET 6的项目结构(即只使用一个Program.cs完...
    99+
    2024-04-02
  • .NET 6开发TodoList应用中如何引入数据存储
    小编给大家分享一下.NET 6开发TodoList应用中如何引入数据存储,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一.需求作为后端CRUD程序员(bushi,数据存储是开发后端服务一个非常重要的组件。对我们的...
    99+
    2023-06-22
  • .NET 6开发TodoList应用中如何实现DELETE请求与HTTP请求幂等性
    本篇文章为大家展示了.NET 6开发TodoList应用中如何实现DELETE请求与HTTP请求幂等性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。需求先说明一下关于原本想要去更新的PAT...
    99+
    2023-06-22
  • .NET 6开发TodoList应用之请求日志组件HttpLogging介绍
    背景 因为在上篇演示Action Filter的时候可能是因为举的例子不够好,有小伙伴在评论区指出.NET 6新增加的特性可以实现在视图模型绑定之前允许记录Http请求日志的组件:H...
    99+
    2024-04-02
  • 使用.NET 6开发TodoList应用之领域实体创建原理和思路
    需求 上一篇文章中我们完成了数据存储服务的接入,从这一篇开始将正式进入业务逻辑部分的开发。 首先要定义和解决的问题是,根据TodoList项目的需求,我们应该设计怎样的数据实体,如何...
    99+
    2024-04-02
  • .NET 6开发TodoList应用中如何引入第三方日志库
    这篇文章将为大家详细讲解有关.NET 6开发TodoList应用中如何引入第三方日志库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.需求在我们项目开发的过程中,使用.NET 6自带的日志系统...
    99+
    2023-06-22
  • .NET 6开发中怎么实现缓存
    小编今天带大家了解.NET 6开发中怎么实现缓存,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“.NET 6开发中...
    99+
    2023-06-26
  • 使用.NET 6开发TodoList应用之引入数据存储的思路详解
    目录需求目标原理和思路实现1. 引入Nuget包并进行配置2. 添加DBContext对象并进行配置3. 配置文件修改4. 主程序配置5. 本地运行MSSQL Server容器及数据...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现ActionFilter
    目录需求目标原理与思路实现验证总结需求 Filter在.NET Web API项目开发中也是很重要的一个概念,它运行在执行MVC响应的Pipeline中执行,允许我们将一些可以在多个...
    99+
    2024-04-02
  • .NET6开发TodoList应用之实现PUT请求
    目录需求目标原理与思路实现PUT请求领域事件的发布和响应验证总结需求 PUT请求本身其实可说的并不多,过程也和创建基本类似。在这篇文章中,重点是填上之前文章里留的一个坑,我们曾经给T...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作