我什么时候应该在 Asp.Net Core 中使用 Task.Run?

2024-02-10

我相信您永远不必在 .net core web 上下文中使用 Task.Run 进行任何操作。如果您有一个长时间运行的任务或 CPU 密集型任务,您可以将其卸载到消息队列以进行异步处理。如果您有一个同步操作,但没有等效的异步方法,那么卸载到后台线程对您没有任何帮助,实际上会变得更糟。

我缺少什么?在高吞吐量服务器应用程序中使用 Task.Run 是否有真正的理由?


一些简单的例子:

  1. 一个日志系统,其中每个工作线程都可以写入队列,并且工作线程负责将项目出队并将其写入日志文件。

  2. 要访问具有昂贵初始化的公寓模型 COM 服务器,最好在其自己的线程上保留单个实例。

  3. 对于在计时器上运行的逻辑,例如每 10 分钟运行一次的事务,用于更新应用程序变量的某种状态。

  4. CPU 密集型操作,其中个体响应时间比服务器吞吐量更重要。

  5. HTTP 响应完成后必须继续运行的逻辑,例如如果总处理时间超出 HTTP 响应超时。

  6. 用于系统操作的工作线程,例如一个长时间运行的线程,用于检查过期的缓存条目。

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

我什么时候应该在 Asp.Net Core 中使用 Task.Run? 的相关文章

  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框

随机推荐

  • 首页加载缓慢 - ASP.NET MVC

    我对我的页面使用了 miniprofiler 因为我认为我的第一页和其他一些页面的加载时间很长 我从 miniprofiler 开始 但我认为它是非常好的工具 我有这个结果 http localhost 50783 192 2 0 0 从数
  • 在实践中,对象构造是否保证所有线程都能看到初始化的非最终字段?

    The Java内存模型 https docs oracle com javase specs jls se8 html jls 17 html jls 17 4保证对象的构造和终结器之间的发生之前关系 从构造函数的末尾有一个发生在边缘 对
  • jquery-ui 对话框显示关闭图标和错误文本

    jquery ui 对话框显示关闭图标和 关闭 错误文本 jquery Ui 版本 1 12 1 和代码 function callDialog dialog confirm dialog closeOnEscape false resiz
  • 带有管道模式的 IIS 7.0 = Integrated 不会在 ASP .NET 中加载任何图像/CSS

    我有一个在 IIS 5 1 中工作的完整系统 我使用经典管道模式迁移到 IIS 7 0 一切正常 但使用管道集成时 我的图像 css 未加载 我正在将 ASP NET 3 5 与 Web 应用程序一起使用 有什么帮助吗 在 IIS 7 中
  • 如何实现多行文本加载动画?

    我正在尝试仅使用来实现文本加载动画CSS 我所拥有的是黑色文本 然后当页面加载时 文本将在几秒钟内开始填充红色 我面临的问题是文本加载动画工作正常 但是当文本结束并以新行开始时 动画文本仍然在同一行上继续 我怎样才能解决这个问题 body
  • 通过显式排序避免死锁

    我想明确提供有关 MySql InnoDB 应如何获取行锁的顺序 如果可能的话 就不应该出现任何死锁 如果我们遵循惯例 首先 数据库应该按升序锁定表 models 中找到的所有行 然后第二个表 颜色 中的所有行都应按升序锁定 有没有办法控制
  • Numpy:多轴上的 argmax 无循环

    我有一个 N 维数组 名为 A 对于A的第一轴的每一行 我想获得A的其他轴上的最大值的坐标 然后我将返回一个二维数组 其中包含第一轴的每一行的最大值的坐标A 的 我已经使用循环解决了我的问题 但我想知道是否有更有效的方法来做到这一点 我当前
  • 读取包含日期和时间的 csv

    我正在 R 中工作并阅读 csv 其第一列中有日期和时间 我想先在R中导入这个csv文件 然后将其转换为zoo对象 我正在使用 R 中的代码 EURUSD lt as xts read zoo myfile csv sep tz heade
  • 优先选择同步而不是易失性

    我读过这个answer https stackoverflow com a 3488771 2786156最后写下以下内容 任何你能用 易失性 实现的事情都可以用同步完成 但是 反之则不然 目前还不清楚 JLS 8 3 1 4 https
  • Swift 2 未使用的持续警告

    我收到一条警告 说我的常量未使用 从未使用过不可变值 myConst 的初始化 考虑替换为 的赋值或将其删除 if someVal value nil let myConst someVal value 那么重命名会怎样let myCons
  • 如何使用 C# API 将 BigQuery 行转换为 JSON?

    我使用下面的 C 代码从 BigQuery 表中提取一些数据 BigQueryClient client BigQueryClient Create
  • Ruby on Rails - 搜索结果分页

    我有 2 个模型 Post 和 Location 其中 location has many posts 和 post owns to location 搜索工作正常 分页也工作正常 除了total entries 结果显示超过 10 条 查
  • 以编程方式更改 UIImageView Xcode Swift 的高度和宽度

    嘿 出于某种原因 我正在努力尝试设置我的图像视图之一的高度和宽度 我想将其设置为高度仅占屏幕的 20 我知道要定期设置它 您可以执行以下操作 图像 0 0 50 50 但我需要高度不是一个静态数字 像 image 0 0 frame hei
  • 为什么 val_loss 和 val_acc 不显示?

    训练开始时 运行窗口中仅显示loss和acc 缺少val loss和val acc 仅在最后才会显示这些值 model add Flatten model add Dense 512 activation relu model add Dr
  • jQuery + Gravity Forms:在错误验证时执行 jQuery

    我在当前的重力形式上使用了一些 jQuery 然而 当我提交表单并返回错误验证时 我丢失了一些 jQuery 目标 我很好奇如何更换 document ready function 一旦字段因错误验证而重新加载 就会调用我的 jQuery
  • 基于 BERT 的 NER 模型在反序列化时给出不一致的预测

    我正在尝试在 Colab 云 GPU 上使用 HuggingFace 变压器库训练 NER 模型 对其进行 pickle 并将模型加载到我自己的 CPU 上以进行预测 Code 模型如下 from transformers import B
  • 如何仅从级别顺序遍历字符串构造二叉树

    考虑具有以下属性的二叉树 如果内部节点 非叶节点 有两个子节点 则其值为 1 叶节点的值为 0 因为它没有子节点 树上的级别顺序遍历将生成一串 1 和 0 通过在访问每个节点时打印奇怪的值 现在给定这个字符串构造二叉树并在树上执行后序遍历
  • BPMN的优点和缺点?

    我希望您能告诉我从开发人员的角度来看 BPMN 的优点和缺点是什么 我将 UML 与 BPMN 进行比较 发现 UML 有很多优点和缺点 但 BPMN 却没有 这很大程度上取决于观众和目的 在建模语言方面 BPMN 和 UML 活动图涵盖了
  • Numpy - 用 NaN 替换数字

    我正在寻找用 numpy 中的 NaN 替换数字 并且正在寻找类似的函数numpy nan to num 除非相反 随着处理不同的数组 该数字可能会发生变化 因为每个数组都可以有唯一定义的 NoDataValue 我见过人们使用字典 但数组
  • 我什么时候应该在 Asp.Net Core 中使用 Task.Run?

    我相信您永远不必在 net core web 上下文中使用 Task Run 进行任何操作 如果您有一个长时间运行的任务或 CPU 密集型任务 您可以将其卸载到消息队列以进行异步处理 如果您有一个同步操作 但没有等效的异步方法 那么卸载到后