Asp.net core 2 CORS预检请求响应缓慢

2024-04-06

我们有一个 asp.net core 2 服务器。 在性能测试中,当我们有几个(例如数十个)待处理请求时,新的 CORS 预检请求将保持待处理状态。

看来asp.net core对管道中的并发请求数有一定的限制,并且该限制的默认值非常低。

是否有关于这些性能相关主题的资源? 有没有办法对请求进行优先级排序?

当然,在我们优化其他请求之后,这个问题会变得更难重现,所以我们想要充分理解它。


我曾经回答过一个类似的问题 https://stackoverflow.com/a/46627920/3645638与 ASP.NET Core Kestrel 的基准测试性能相关here https://stackoverflow.com/a/46627920/3645638.

简而言之,您可以删除导致瓶颈的中间件,或者至少这可以帮助您诊断罪魁祸首。


Ordering
中间件组件添加的顺序Configure方法定义了它们在请求时调用的顺序,以及响应的相反顺序。此顺序对于安全性、性能和功能至关重要。

- - - 来源:Microsoft 文档:ASP.NET Core 中间件 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware?tabs=aspnetcore2x#ordering


短路

您可以通过不调用来短路请求管道以处理性能优化(或测试)next范围。例如:

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        // make sure you place this at the top
        // the request pipeline will go in sequence
        app.Use(async (context, next) =>
        {
            // do work for your special case, performance tests, etc

            // in order to short-circuit the pipeline, do NOT call the next parameter 
            // so, you could place some kind of conditional here that will allow only
            // specific requests to continue down/up the pipeline
            if (!true)
            {
                await next.Invoke();
            }
        });

        // the rest of the pipeline
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.net core 2 CORS预检请求响应缓慢 的相关文章

  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • Android Drawable 绘图性能?

    在我看来 我有一个简单的 ARGB 可绘制对象 大约需要 2 毫秒才能绘制 但我可以在 0 5 毫秒内绘制与位图相同的文件 只是一些快速代码 我真的不能认为它是一个选项 优化可绘制对象的绘制速度的最佳方法是什么 这取决于可绘制的数量以及每个
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • 在 C++11 中移出 stdpriority_queue 的元素

    最小的工作示例 include
  • 通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

    Visual Studio 2015 中的 0 代码 1 我正在使用 Mailkit 最新版本 1 18 1 1 从我自己的电子邮件服务器发送电子邮件 2 电子邮件服务器具有不受信任的自签名证书 3 我在代码中添加了以下两行 以忽略服务器证
  • Xamarin - SignalR 挂在连接上

    我正在尝试将我的 Xamarin 应用程序连接到托管在 Azure 上的 SignalR 后端 我遇到的问题是每次我在 HubConnection 上调用 StartAsync 时 它都会挂起客户端并且请求永远不会完成 我尝试通过应用程序进
  • 为什么不能调用带有 auto& 参数的 const mutable lambda?

    include
  • 将错误代码映射到 C++ 中的字符串

    将错误代码从枚举映射到字符串的更有效方法是什么 在 C 中 例如 现在我正在做这样的事情 std string ErrorCodeToString enum errorCode switch errorCode case ERROR ONE
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • 从 NumPy 数组到 Mat 的 C++ 转换 (OpenCV)

    我正在围绕 ArUco 增强现实库 基于 OpenCV 编写一个薄包装器 我试图构建的界面非常简单 Python 将图像传递给 C 代码 C 代码检测标记并将其位置和其他信息作为字典元组返回给 Python 但是 我不知道如何在 Pytho
  • 如何在dll级别读取app.config? [复制]

    这个问题在这里已经有答案了 我在一个解决方案中有一个控制台应用程序项目和库项目 dll The 图书馆项目有 app config 文件 我在其中存储我在库中使用的一些键值对 控制台应用程序引用此 dll 我有另一个 app config
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 如何对单个 TypoSript 对象生成进行基准测试?

    我想对单个 TypoScript 对象生成进行基准测试以控制性能 是否可以使用某些 stdWrap 方法 我想要对其进行基准测试的 TS 对象示例 Test 1 page 10 RECORDS page 10 tables pages so
  • printf或iostream如何指定点后的最大位数

    字符串采用什么格式printf or iomanip我应该使用 iostream 中的运算符以以下格式打印浮点数 125 0 gt 125 125 1 gt 125 1 125 12312 gt 125 12 1 12345 gt 1 12
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost

随机推荐

  • 隐藏datagridview winform中的默认灰色列

    当数据不可用时 有什么方法可以删除或隐藏 winforms datagrid 灰色区域吗 其次 如何删除 隐藏默认的灰色列 dataGridView1 DataSource oresult dataGridView1 Columns Id
  • 是否有可用的公共 UDDI 注册中心?

    我目前正在尝试掌握 UDDI 并希望使用查询 API 运行一些示例 但我找不到可以使用 SOAP 消息查询的公共注册表 IBM Microsoft 和 SAP 几年前曾托管公共 UDDI 服务器 但后来已停止使用 I know xmetho
  • 同一行上的两个 Div 并居中对齐

    我有两个像这样的div div style border 1px solid 000 Div 1 div div style border 1px solid red Div 2 div 我希望它们显示在同一行 所以我使用float lef
  • 意外的顶级错误

    我一直在尝试许多解决方案 甚至启用了 multiDexEnabled true 但仍然收到此错误 UNEXPECTED TOP LEVEL ERROR 这是我的构建 android compileSdkVersion 22 buildToo
  • C 字符串与等号的比较

    我有这个代码 char name George if name George printf It s George 我认为c字符串不能与 标志 我必须使用strcmp 由于未知原因 当我使用 gcc 版本 4 7 3 编译时 此代码有效 我
  • Web 服务必须注册吗?

    我正在学习网络服务 我读过的大多数资源都讨论了如何在网络服务准备好供其他人使用时对其进行注册 使用该服务是否需要注册网络服务 例如 假设我在公司 Intranet 上有一个 Web 应用程序 并且我创建了另一个 Web 服务应用程序 该应用
  • 在程序集“”中发现了不止一种迁移配置类型。指定要使用的名称。关于添加迁移

    在包管理器控制台中 我正在尝试更新我的数据库 当我输入这个命令时 add migration Migration1 我明白了 在程序集中发现了不止一种迁移配置类型 我的项目 POCO 指定要使用的名称 我用谷歌搜索了这个错误 我得到了这个
  • 如何从 XMLHttpRequest 获取进度

    是否可以获得 XMLHttpRequest 的进度 上传的字节数 下载的字节数 当用户上传大文件时 这对于显示进度条很有用 标准 API 似乎不支持它 但也许任何浏览器中都有一些非标准扩展 毕竟 这似乎是一个非常明显的功能 因为客户端知道上
  • sharepoint aspx 页面的隐藏代码在哪里?

    毫无疑问 我在这里遗漏了一些非常明显的东西 但我是 sharepoint 的新手 所以请耐心等待 我已经成功添加了一个母版页 创建了一个内容类型 并为我的自定义内容类型创建了一个 aspx 页面 但我找不到它的 cs 文件 在共享点解决方案
  • 扩展 maxLines 属性时自动滚动多行 TextFormField

    我正在实现一个 TextFormField 其 maxLines 属性设置为 3 当用户从第四行开始时 如何使 TextFormField 向下滚动 目前 光标不再可见 直到用户手动向下滚动 有没有办法自动执行此操作 这种行为实际上在 fl
  • 动态算法与贪婪算法:关于 Neil G 对同一主题的回答的争论

    我试图理解动态算法和贪婪算法之间的区别 并且这个答案由Neil G很有帮助 https stackoverflow com a 13713735 2715083但是 他的一句话却引起了评论区的热议 动态规划和贪心算法之间的区别在于 动态规划
  • 将字符串替换为具有不同 html 但相同文本的匹配字符串

    String1 img alt src http abcghgds com justin bieber ferns 650 430 jpg width 650 height 430 Have you seen a href http www
  • Makefile - 为什么读取命令不读取用户输入?

    我的 Makefile 中有以下代码 Root Path echo What is the root directory of your webserver Eg Server htdocs read root path echo root
  • 为什么“无法翻译 LINQ 表达式 'x'”?我没有使用“Where()”

    当我执行以下代码时 出现错误 System InvalidOperationException LINQ 表达式 DbSet Where u gt u NormalizedEmail ToLower 0 u PasswordHash Seq
  • 类实例作为静态属性

    Python 3 不允许您在其主体内引用类 方法中除外 class A static attribute A def init self 这就提出了一个NameError在第二行 因为 A is not defined 备择方案 我很快找到
  • 如何处理弹性搜索结构化查询中的通配符

    我的用例需要使用尾随通配符查询我们的弹性搜索域 我想了解您对在查询中处理此类通配符的最佳实践的看法 您认为添加以下子句对于查询来说是一个很好的做法吗 query query string query attribute postfix an
  • 检测图中的所有圆圈

    我有一个存储在 Map 数据结构中的有向图 其中键是节点的 ID value 是key节点所指向的节点的nodeId数组 Map
  • 如何在 T-SQL 中将 varchar 转换为 datetime?

    我正在尝试填充来自的数据table1 to table2 两者具有相同的列数 中的所有列table1属于类型varchar 中的列table2可能varchar int or datetime etc 我的问题是如何在填充过程中进行转换 这
  • 更改重复产品的 Magento 默认状态

    我安装了 Magento 商店 当后端复制产品时 Magento 默认将其状态设置为禁用 我不希望发生这种情况 复制的产品也应该从原始产品复制其状态 In 这个帖子 https stackoverflow com questions 465
  • Asp.net core 2 CORS预检请求响应缓慢

    我们有一个 asp net core 2 服务器 在性能测试中 当我们有几个 例如数十个 待处理请求时 新的 CORS 预检请求将保持待处理状态 看来asp net core对管道中的并发请求数有一定的限制 并且该限制的默认值非常低 是否有