首页 > 编程语言 >C#面:Application builder的use和run方法有什么区别?

C#面:Application builder的use和run方法有什么区别?

时间:2024-07-14 16:00:30浏览次数:12  
标签:use run 请求 C# 中间件 添加 方法

这两个⽅法都在start up class的configure⽅法⾥⾯调⽤。都是⽤来向应⽤请求管道⾥⾯添加中间件
的。Use⽅法可以调⽤下⼀个中间件的添加,⽽run不会。

在C#中,Application builder是用于构建和配置应用程序的类。它提供了一些方法来设置应用程序的各种属性和行为。其中,use和run方法是两个常用的方法。

use方法用于添加中间件到应用程序的请求处理管道中。中间件是一种处理请求的组件,它可以在请求到达控制器之前或之后执行一些操作。use方法可以多次调用,以添加多个中间件。例如,

下代码演示了如何使用使用方法添加两个中间件:

app.UseMiddleware<Middleware1>();
app.UseMiddleware<Middleware2>();

run方法用于指定应用程序的最终请求处理逻辑。它接收一个RequestDelegate委托作为参数,该委托表示请求的处理逻辑。通常情况下,我们会在run方法中指定一个控制器的动作方法作为请求处理逻辑。例如:

app.Run(async (context) =>
{
    await context.Response.WriteAsync("Hello World!");
});

 在上面的例子中,当有请求到达时,run方法指定的匿名委托会被执行,向响应中写入“Hello World!”。

总结一下,use方法用于添加中间件到请求处理管道中,而run方法用于指定最终的请求处理逻辑。

标签:use,run,请求,C#,中间件,添加,方法
From: https://blog.csdn.net/fishandfishand/article/details/140418053

相关文章

  • C#与PLC通信——如何检测电脑与PLC之间的网络是否通畅
    前言:电脑和PLC的IP地址设置好以后,可以先通过一些手段来测试电脑和PLC之间的网络是否通畅,如果确认了网络通畅以后,我们再测试通信程序。1、同时按下键盘的windows键+"R"键,如下图:下面两张图是两种键盘的情况,并且能弹出”运行“窗口2、在窗口中输入“cmd”,然后点击“确定......
  • TatukGIS Developer Kernel 11.91 FOR net Crack
    .NET开发人员内核TatukGIS开发人员内核(DK).NET版本是专业级托管代码.NETGIS库,可用于为多种操作系统开发专业GIS应用程序。此GISSDK版本专为以下操作系统设计和编译:.NET(又名Core ),支持:.NETStandard2.1用于开发适用于Windows、Linux和macOS的应用程序.......
  • 【tomcat】Tomcat如何扩展Java线程池原理
    池化技术在后端中,对于经常使用池化就是来提升系统性能,比如数据库连接池、线程池连接池等,本质都是利用空间换时间的来提升性能,用来避免资源的频繁创建和销毁,以此提高资源的复用率,所以合理设置系统所需的线程池大小非常重要,一般都需要结合线程启动监控系统来观察,查看设置的是......
  • 使用Spring Boot集成Nacos
    使用SpringBoot集成Nacos大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代微服务架构中,服务发现和配置管理是两个非常重要的组成部分。Nacos作为阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台,非常适合用来管理SpringBoot微服务应用。本......
  • Java中的CompletableFuture详解
    Java中的CompletableFuture详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在现代Java编程中,异步编程变得越来越重要。Java8引入了CompletableFuture,它极大地简化了异步编程的复杂性。CompletableFuture不仅支持异步操作,还提供了丰富的API来处理异步......
  • Java中的ReentrantLock详解
    Java中的ReentrantLock详解大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java编程中,多线程同步是一个常见的需求。为了保证多个线程对共享资源的安全访问,Java提供了多种锁机制,其中ReentrantLock是一个重要的工具。本文将详细介绍ReentrantLock的使用,......
  • Solidity:ERC721
    ERC-721是以太坊区块链上的一种智能合约标准,专门用于创建和管理不可替代代币(NFT)。这些代币与ERC-20代币不同,ERC-20代币是同质化代币,每个代币都是相同的,可以互换。而ERC-721代币则是独一无二的,每个代币都具有独特的属性和价值1.什么是ERC-721?ERC-721(EthereumRequestforComme......
  • Solution - Codeforces 1311E Construct the Binary Tree
    先去考虑找一下无解条件。首先就是有\(d\)关于\(n\)的下界\(L\),就是弄成一颗完全二叉树的答案。其次有\(d\)关于\(n\)的上界\(R\),就是成一条链的样子。首先当\(d<L\)或\(R<d\)时显然无解。对于\(L\led\leR\)又如何去判定。能发现没有一个比较好的判定......
  • 2024年7月11日实测,可用ChatGPT的方法!!!!!!!!!
    直接上干货已经成为了我得习惯☆直达地址推荐用火狐浏览器这样实测进去的速度比较快并且无需魔法哦(而且这里面的gptplus会员才24.9实测真的很完美啊!!!!!!!!!)......
  • css 自定义属性
    CSS自定义属性(CustomProperties),也称为CSS变量,是CSS中一种能够保存和复用值的机制。它们与常规的CSS属性不同,因为它们可以在整个文档中定义一次,然后在需要的任何地方使用。定义和语法定义一个自定义属性使用两个连字符(--)开头,后面跟着属性名,类似于下面的示例::root{--......