怎么做网站推广临沂阿里云网站建设怎么样

diannao/2026/1/23 6:54:49/文章来源:
怎么做网站推广临沂,阿里云网站建设怎么样,凡科建站怎么导出网页,网站服务器维护技术前言ASP.NET Core 中 HTTP 管道使用中间件组合处理的方式,换句人话来说,对于写代码的人而言,一切皆中间件.业务逻辑/数据访问/等等一切都需要以中间件的方式来呈现.那么我们必须学会如何实现自定义中间件 这里划重点,必考这里我们介绍下中间件的几种实现方式...匿名函数通常新建… 前言ASP.NET Core 中 HTTP 管道使用中间件组合处理的方式,换句人话来说,对于写代码的人而言,一切皆中间件.业务逻辑/数据访问/等等一切都需要以中间件的方式来呈现.那么我们必须学会如何实现自定义中间件 这里划重点,必考这里我们介绍下中间件的几种实现方式...匿名函数通常新建一个空的 ASP.NET Core Web Application,项目名字无所谓啦在启动类里可以看到这么一句:// Startup.cs // ... app.Run(async (context) {await context.Response.WriteAsync(Hello World!); }); // ...这就是一个匿名函数实现的中间件,虽然内容比较少.可以看到通过匿名函数实现的中间件是内嵌在启动类文件中的,因此通常也叫做内联中间件接下来,我们通过匿名函数来实现内联中间件,以便加深理解.新建一个空的 ASP.NET Core Web Application然后修改启动类代码如下:// Startup.cs using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; using System;namespace WebApplication1 {public class Startup{public void ConfigureServices(IServiceCollection services){}public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}// 使用匿名函数实现一个内联中间件app.Use(async (context, next) {throw new NotImplementedException(一个使用匿名函数,但未实现具体内容的内联中间件);});app.Run(async (context) {await context.Response.WriteAsync(Hello World!);});}} } 这里我们在 app.Run 之前使用 app.Use 添加一个匿名函数实现的内联中间件,按照中间件的注册顺序,当发起请求时,会抛出一个异常 NotImplementedException(一个使用匿名函数,但未实现具体内容的内联中间件)我们 F5 启动下,看看页面嗯,符合预期.我们再来调整下启动类,代码如下:using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection;namespace WebApplication1 {public class Startup{public void ConfigureServices(IServiceCollection services){}public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}// 使用匿名函数实现一个内联中间件app.Use(async (context, next) {// 这里不对 request 做任何处理,直接调用下一个中间件await next.Invoke();});app.Run(async (context) {await context.Response.WriteAsync(Hello World!);});}} } 这里我们在 app.Run 之前使用 app.Use 添加一个匿名函数实现的内联中间件,该中间件没有对 request 做任何处理,只是一个空的空间件,按照中间件的注册顺序,当发起请求时,页面应该显示 Hello World!.我们 F5 启动,看看效果嗯,符合预期.个人觉得:匿名函数不是很直观,但是用内联的方式可以快速开始一些开发,不用新建一个中间件类,不用专门想个不一样的名字,小场景下是非常方便实用的实现接口通过实现接口 IMiddleware 编写自定义中间件,这是一种强类型的方式,我们需要必须强制按照接口的定义来实现.IMiddleware接口 IMiddleware 定义如下:using System.Threading.Tasks;namespace Microsoft.AspNetCore.Http {public interface IMiddleware{Task InvokeAsync(HttpContext context, RequestDelegate next);} } 可以看到接口 IMiddleware 的命名空间是 Microsoft.AspNetCore.Http,需要实现的方法是InvokeAsync(),看起来不算太复杂, 嗯,看起来不算太复杂嗯,重新开始,我们新建一个空的 ASP.NET Core Web Application然后我们通过实现接口的方式来自定义一个中间件,代码如下:// 新建类 MyMiddleware.cs using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;namespace WebApplication1 {public class MyMiddleware : IMiddleware{public Task InvokeAsync(HttpContext context, RequestDelegate next){throw new NotImplementedException();}} } 按照上面实现的中间件 MyMiddleware,在执行时应该会抛出 NotImplementedException.使用接口实现的中间件需要在先在服务容器中注册// Startup.cs using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection;namespace WebApplication1 {public class Startup{public void ConfigureServices(IServiceCollection services){// 在服务容器中注册自定义中间件services.AddSingletonMyMiddleware();}public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}// 使用 UseMiddleware() 把自定义中间件添加到管道中app.UseMiddlewareMyMiddleware();app.Run(async (context) {await context.Response.WriteAsync(Hello World!);});}} } 然后 F5 启动,页面上可以看到如下结果:符合我们上面的预期,抛出了一个 NotImplementedException.然后我们改造下 MyMiddleware 中间件// MyMiddleware.cs using Microsoft.AspNetCore.Http; using System.Threading.Tasks;namespace WebApplication1 {public class MyMiddleware : IMiddleware{public async Task InvokeAsync(HttpContext context, RequestDelegate next){// 这里不对 request 做任何处理,直接调用下一个中间件await next(context);}} } 这里相当于我们实现了一个叫做 MyMiddleware 的中间件,但是并没有对请求进行任何处理,页面上应该正常显示 Hello World! 字符串.然后我们 F5 启动看看嗯...符合预期.个人觉得:这种方式最符合面向对象的特性,也符合面向接口的原则,少一些难以理解的魔法,反而有助于理解.约定方式编程世界有这么一句话,叫约定大于配置.那么编写中间件的约定是什么呢?重新开始,新建一个空的 ASP.NET Core Web Application然后新建一个类,类名叫做 MyMiddleware 好了,代码如下:// MyMiddleware.cs using Microsoft.AspNetCore.Http; using System; using System.Threading.Tasks;namespace WebApplication1 {public class MyMiddleware{// 1. 需要实现一个构造函数,参数为 RequestDelegatepublic MyMiddleware(RequestDelegate next){}// 2. 需要实现一个叫做 InvokeAsync 方法public async Task InvokeAsync(HttpContext context){throw new NotImplementedException(这是一个按照约定方式编写的中间件,但未实现具体内容);}} } 约定的内容,就是满足2个需要...不满足需要则异常.然后我们把这个中间件,注册到管道中,以便使用// Startup.cs using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection;namespace WebApplication1 {public class Startup{public void ConfigureServices(IServiceCollection services){}public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}// 注册自定义中间件// 注册顺序1app.UseMiddlewareMyMiddleware();app.Run(async (context) {await context.Response.WriteAsync(Hello World!);});}} } 然后 F5 启动,来看看效果嗯,符合预期.然后我们来调整下中间件,让请求能正常响应输出 Hello World!using Microsoft.AspNetCore.Http; using System; using System.Threading.Tasks;namespace WebApplication1 {public class MyMiddleware{private readonly RequestDelegate _next;// 需要实现一个构造函数,参数为 RequestDelegatepublic MyMiddleware(RequestDelegate next){_next next;}// 需要实现一个叫做 InvokeAsync 方法public async Task InvokeAsync(HttpContext context){// 不处理任何 request, 直接调用下一个中间件await _next.Invoke(context);}} } 然后 F5 启动,看看效果嗯,符合预期.个人觉得:只能说一句,约定方式是目前用的最多的方式...End写在最后Tips: 有些内容可能看起来还是不太容易理解,至少当下你是很难理解的,但是套路就在哪里,好比112,你知道11为什么2么?但你一定会算会用112...

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

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

相关文章

企业做网站一般多少钱免费网页空间

前言 按照官网教程,学习条件语句Switch和ifelse的使用 参考地址: conditions 性能对比 ifElse是将布尔变量和两个变量当做输入 Switch是将张量和两个变量当做输入. 因为Switch是元素级操作,所以比ifElse更具一般性 Switch需要对所有输出变量进行评…

英文网站seo 谷歌昆山专业的网站建设

惠海H6246降压开关控制器芯片是一款降压恒压的电源管理芯片,适用于高压输入、低压输出的应用。以下是对该产品的详细分析: 首先,H6246降压恒压芯片它内置60V耐压MOS,能够在48V的输入电压下稳定工作,并且具有宽压8V-48V…

网站下一步工作怎么做档案安全网站安全建设

作为“一所探索科技未知的研究院”,阿里巴巴达摩院成立至今已经四年了。 这四年来,达摩院秉持着“探索科技位置,以人类愿景为驱动力,开展基础科学和颠覆式技术创新研究”的原则与使命,在基础科研和硬科技发展上“遍地生…

永久免费网站系统网站建设文化教程

Java Web实现信息管理 前言: 大二上学期刚学完Oracle,老师就要求用Java语言操作Oracle,当时真的是懵了。回顾自己前两年的生活,大一上学期学习C语言,下学期学习Java,当时教课老师是学硬件的。课上讲一些理…

严什么的烟 网站建设建设网站通过什么赚钱

在当今快速发展的机器学习(ML)领域,没有任何一个公司,包括科技巨头,能够独立“解决AI”。这是一个需要通过共享知识和资源在社区中协作来实现的目标。正是基于这个信念,Hugging Face Hub应运而生,它是一个集成了超过12…

自建导航站wordpress网站上传不了照片

文章目录 前言贪心知识点贪心的套路 贪心一般解题步骤一、738. 单调递增的数字二、968. 监控二叉树总结 前言 一个本硕双非的小菜鸡,备战24年秋招,计划二刷完卡子哥的刷题计划,加油! 二刷决定精刷了,于是参加了卡子哥…

肇庆高要建设局网站网站上那些兼职网页怎么做

2.8日学习打卡 一.springboot整合RabbitMQ 之前我们使用原生JAVA操作RabbitMQ较为繁琐&#xff0c;接下来我们使用 SpringBoot整合RabbitMQ&#xff0c;简化代码编写 创建SpringBoot项目&#xff0c;引入RabbitMQ起步依赖 <!-- RabbitMQ起步依赖 --> <dependency&g…

深圳建网站哪个公司好关于美食的网页模板

文章均由自己原创&#xff0c;只是一直没有在自己博客发表。本地附件也没有了&#xff0c;我是从网上找来我的以前的投稿。 写在之前的废话&#xff1a;小菜技术能力不行&#xff0c;如果你觉得此文实在看不下去&#xff0c;还请PASS掉。如果你对我的文章有兴趣&#xff0c;可以…

wifi管理网站wordpress 制作app

题意&#xff1a;就是平时玩的十滴水游戏&#xff0c;游戏者拥有一定的水滴&#xff0c;能够滴在某些位置&#xff0c;如果一个点上的体积超过了4就会爆炸&#xff0c;向四周传递一个小水滴。该题就是要求模拟这个过程。 分析&#xff1a;这里有一个问题就是不能够使用递归来处…

装修网站应该怎么做wordpress离线发布功能

一、离散对数问题&#xff08;Discrete Logarithm Problem, DLP&#xff09; 问题描述&#xff1a;给定 有限阿贝尓群 G中的2个元素a和b&#xff0c;找出最小的正整数x满足&#xff1a;b a ^^ x &#xff08;或者证明这样的x不存在&#xff09;。 二、阶数问题&#xff08;O…

购物网站的建设时间wordpress文章改为已发布

假如C进入Linux内核&#xff0c;那么需要做哪些改造&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xf…

网站建设标书范本专业设计app

5G作为“新基建”之首&#xff0c;肩负着驱动国民经济转型升级、促进实体经济与数字经济深度融合、满足各行各业高质量通信服务需求的重任。 随着5G技术的更新迭代&#xff0c;各行各业对网络的可靠性&#xff0c;确定性等提出更高的需求&#xff0c;5G LAN作为3GPP R16标准定…

北京设计网站的公司哪家好电子商务网站建设与管理期末试卷

Linux CPU利用率 在线上服务器观察线上服务运行状态的时候&#xff0c;绝大多数人都是喜欢先用 top 命令看看当前系统的整体 cpu 利用率。例如&#xff0c;随手拿来的一台机器&#xff0c;top 命令显示的利用率信息如下 这个输出结果说简单也简单&#xff0c;说复杂也不是那么…

境外网站建设开发网站需要什么

安装Apache 服务 打开 Apcahe的目录 &#xff0c;打开bin目录&#xff0c; 如&#xff1a;E:\wamp\Apache24\bin &#xff0c;打开目录&#xff0c;Shift键 鼠标右键 &#xff0c; 点击 在此处打开命令窗口或者W快捷键直接到此处&#xff0c; 也可以Window键r&#xff0c;输入…

电商网站怎么推广刷抖音一天赚四五百块

目前最新的twitter-mysql版本基于mysql5.5.22&#xff0c;以下总结了一些比较明显的改进点&#xff0c;大部分已经亲自证实&#xff0c;其他一些诸如修复的比较次要的问题(例如编译问题)这里暂不列出&#xff0c;可以详细参阅https://github.com/twitter/mysql/wiki/Change-His…

做网站一般建多大的页面斗门区住房和城乡建设网站

目录 前言TVM编译器的实现过程关于《TVM编译器原理与实践》编辑推荐内容简介作者简介图书目录书中前言/序言《TVM编译器原理与实践》全书速览结束语 前言 随着人工智能的发展&#xff0c;计算机视觉、自然语言处理和语音识别等领域的需求不断增加。为了更好地满足这些需求&am…

做兼职的设计网站以下哪个是专业的网页制作软件

利用XML实现通用WEB报表打印(1) 卢彦 摘要开发B/S结构的应用程序最头疼的问题可能就是报表打印了&#xff0c;由于只能采用浏览器来作为用户界面进行交互&#xff0c;所以不能精确控制客户端的打印机。而很多B/S结构的应用程序常常需要完成非常复杂的报表打印任务。而靠IE自带的…

北京如何做网站网页linx服务器怎么做网站

文章目录 一、背景二、接口优化方案总结1.批处理2.异步处理3.空间换时间4.预处理5.池化思想6.串行改并行7.索引8.避免大事务9.优化程序结构10.深分页问题11.SQL优化12.锁粒度避免过粗 三、最后 一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xff0c;其中发现…

php 网站下载器珠海自适应网站

一、JDK8新特性:Lambda表达式 1.Lambda表达式及其使用举例 Lambda是一个匿名函数&#xff0c;我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格&#xff0c;使Java的语言表达能力…

免费建网站模板培训教育学校的网站建设方案

我们定义&#xff0c;在以下情况时&#xff0c;单词的大写用法是正确的&#xff1a; 全部字母都是大写&#xff0c;比如 "USA" 。单词中所有字母都不是大写&#xff0c;比如 "leetcode" 。如果单词不只含有一个字母&#xff0c;只有首字母大写&#xff0c…