.NET Core 3.0 中间件 Middleware

640

中间件官网文档解释:中间件是一种装配到应用管道以处理请求和响应的软件 每个中间件:

  • 选择是否将请求传递到管道中的下一个组件。

  • 可在管道中的下一个组件前后执行工作。

使用 IApplicationBuilder 创建中间件管道

ASP.NET Core 请求管道包含一系列请求委托,依次调用。下图演示了这一概念。沿黑色箭头执行。

640?wx_fmt=png

IApplicationBuilder提供了三个扩展方法配置请求委托

  • app.Run 作用添加一个终端中间件,因为不在向下传递请求,常常公开在管道末尾运行。实例代码
  • app.Use 将多个请求委托链接在一起。next 参数表示管道中的下一个委托。可通过不 调用 next 参数使管道短路等同于aap.run。通常可在下一个委托前后执行操作,如以下示例所示:

  • Map 扩展用作约定来创建管道分支。Map 基于给定请求路径的匹配项来创建请求管道分支。如果请求路径以给定路径开头,则执行分支。实例代码如下

自定义中间件

以下演示记录api输入输出参数的中间件。

1.创建一个webapi项目,在默认的WeatherForecastController控制器中添加一个简单的post方法,代码如下

640?wx_fmt=png

选择之后默认代码如下:

上面invoke不是异步的,我们自己可以改动,以下代码展示 一个api请求的输入参数和输出信息的日志打印

640?wx_fmt=png

控制台上打印的信息如下:

640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅!微软发布 Visual Studio Online:Web 版 VS Code + 云开发环境

今天(北京时间 2019 年 11 月 4 日),在 Microsoft Ignite 2019 大会上,微软正式发布了 Visual Studio Online 公开预览版!概览Visual Studio Online 提供了由云服务支撑的开发环境。无论是一个长期项目,或是…

Ubuntu Linux将支持所有树莓派设备

Canonical 近期公开了对 Raspberry Pi 4 的支持计划,并表示将支持所有 Raspberry Pi 设备。随着 Ubuntu Server 19.10 版本的发布,Canonical 宣布正式支持 Raspberry Pi 4,Raspberry Pi 4 性能强大,但成本较低,可以在边…

面试官:你连RESTful都不知道我怎么敢要你?

加个“星标★”,每天11.50,好文必达全文约4000字,预计阅读时间8分钟面试官:了解RESTful吗?01 前言回归正题,看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非…

深入理解.NET Core的基元(二) - 共享框架

原文:Deep-dive into .NET Core primitives, part 2: the shared framework作者:Nate McMaster[1] 译文:深入理解.NET Core的基元(二) - 共享框架 作者:Lamond Lu本篇是之前翻译过的《深入理解.NET Core的基…

net core WebApi——使用xUnits来实现单元测试

前言从开始敲代码到现在,不停地都是在喊着记得做测试,记得自测,测试人员打回来扣你money之类的,刚开始因为心疼钱(当然还是为了代码质量),就老老实实自己写完自己跑一遍,没有流程没有…

python利用opencv标注bounding box

http://blog.csdn.net/xieqiaokang/article/details/60780608 1. 函数 用 OpenCV 标注 bounding box 主要用到下面两个工具——cv2.rectangle() 和 cv2.putText()。用法如下: # cv2.rectangle() # 输入参数分别为图像、左上角坐标、右下角坐标、颜色数组、粗细 cv2…

微软发布 SQL Server 2019 新版本

2019 年 11 月 4 日,微软在美国奥兰多举办的 Ignite 大会上发布了关系型数据库 SQL Server 的新版本。与之前版本相比,新版本的 SQL Server 2019 具备以下重要功能:在 Linux 和容器中运行的能力,连接大数据存储系统的 PolyBase 技…

AdminLTE 3.0发布了

点击蓝字关注我们前言在11月2日,作者正式发布了AdminLTE 3.0版本。该版本基于Bootstrap 4.x。使用Bootstrap 4.x的小伙伴可以愉快的使用AdminLTE。GithubAdminLTE是一个完全响应的管理模板。基于Bootstrap 4框架。高度可定制且易于使用。适合从小型移动设备到大型台…

这位优秀的.NET开发者是怎样炼成的?

本文来自DotNET技术圈作者:邹溪源一,社区的小圈子今年3月的一次技术交流活动上,那是我们.NET技术社区第一次组织线下活动,由于没什么经验,所以活动组织得比较仓促,内容也比较一般,效果还是有点欠…

求知无限,刷新.NET 中国社区

2019 Microsoft Ignite The Tour 2020年1月13日至14日深圳会展中心举办,今年的大会是免费的哦,所以也很火爆,我们为您开通专属报名渠道,,扫下方二位码 请在注册时务必填写RSVPCode: MITTCE。大会全面解锁微软黑科技:&g…

使用ASP.NET Core 3.x 构建 RESTful API - 1. 开始

以前写过ASP.NET Core 2.x的REST API文章,今年再更新一下到3.0版本。预备知识:ASP.NET Core 和 C# 工具:Visual Studio 2019最新版(VSCode、VS for Mac,Rider等也凑合),POSTMAN Web API Web API…

.NET Core 3.1 编写混合 C++ 程序

前言随着 .NET Core 3.1 的第二个预览版本发布,微软正式将 C/CLI 移植到 .NET Core 上,从此可以使用 C 编写 .NET Core 的程序了。由于目前仅有 MSVC 支持编译此类混合代码,并且由于涉及到非托管代码,因此 C/CLI 目前不能跨平台&a…

在ASP.NET Core中编写合格的中间件

这篇文章探讨了让不同的请求去使用不同的中间件,那么我们应该如何配置ASP.NET Core中间件?其实中间件只是在ASP.NET Core中处理Web请求的管道。所有ASP.NET Core应用程序至少需要一个中间件来响应请求,并且您的应用程序实际上只是中间件的集合…

全网首发 PowerBI 秒级实时大屏通用解决方案

双十一来了,你准备好了吗?不管你是否准备完毕,我们带来了全网首发的 PowerBI 秒级实时大屏展示方案,你可以直接用来展示双十一的实时状况。我们一步步来说明这个套件模板教程。真实效果功能如下:全实时展示 双十一 当天…

普大喜奔 | Azure 免费送网站SSL证书啦!

点击上方蓝字关注“汪宇杰博客”导语就在今晨,微软推出了 App Service Managed Certificates 预览版。简单来说,这就是在 Azure App Service 服务的一项更新,免费送你SSL证书!只要点几下鼠标就能给网站加上SSL证书!并且…

VS Code 1.40 发布!可自行搭建 Web 版 VS Code!

今天(北京时间 2019 年 11 月 8 日),微软发布了 Visual Studio Code 1.40 版本。让我们来看看有哪些主要的更新。自建 Web 版 VS Code 如果你已经下载了 VS Code 在 GitHub 上的源代码,只需运行 yarn web,就能在 http:…

超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本

超简单让.NET Core开发者快速拥有CI/CD的能力-Docker版本前言上一篇自动化测试,全面且详细的介绍了从零开始到发布版本的步骤,这是传统的方式,本次为大家带来的是如何在5分钟内使用上docker进行CI/CD,毕竟现在的容器化如火如荼&am…

.NET Core 又一杀器! Web Blazor框架横空出世!

多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI。大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web Assembly允许在客户…

.NET Conf 2019 今天在上海开幕,图片直播地址

.NET Conf 2019 在上海开幕,全程提供图片直播:https://vzan.com/live/tvchat-1099246581下午的分会场内容如下:上午有个直播 ,请阅读原文访问https://vzan.com/live/tvchat-1099246581 。

Asp.Net Core 单元测试正确姿势

背景ASP.NET Core 支持依赖关系注入 (DI) 软件设计模式,并且默认注入了很多服务,具体可以参考 官方文档, 相信只要使用过依赖注入框架的同学,都会对此有不同深入的理解,在此无需赘言。然而,在引入 IOC 框架之后&#x…