Blazor 中的轮询线程

2023-12-12

我正在使用 REST API 和 Web 界面构建 Blazor 应用程序。我还将有一个应用程序的监视部分,它将每秒从许多不同的数据源轮询数据。我在一个单独的类中创建了一个长时间运行的线程,它只是轮询我想要的数据,并且似乎工作正常。我使用的应用程序模板是 Blazor ASP.NET Server 应用程序。简单地像这样:

 m_pollThread = new Thread(new ThreadStart(PollThread))
 {
    IsBackground = true
 };
 m_pollThread.Start();

我现在想知道的是:将这种类型的轮询线程放入 Blazor 应用程序本身的编程模式是否完全错误?这样做是否存在一些问题,会在以后适得其反(内存消耗、应用程序其余部分的性能)?我之所以问这个问题,是因为据我所知,Blazor 和 ASP.NET Core 应用程序一般都是“按需”,并在收到请求时唤醒,而不是执行长时间运行的无休止的轮询任务。例如,我不知道是否可以在 IIS 中运行它。


将这种类型的轮询线程放入 Blazor 应用程序本身的编程模式是否完全错误?

是的。它不会立即损坏,但它会带来麻烦。

解决方案很简单,ASP.NET core 可以让你运行非常容易地使用多个主机线程.

新的工作模板可能是现在的首选方式,但您真正需要的是

class MyPollingService : BackgroundService { ... }

and

services.AddHostedService<MyPollingService>();

您的收获是与框架更好的集成以及对启动和停止等的更多控制。

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

Blazor 中的轮询线程 的相关文章

  • 使用ftplib进行多线程上传

    我正在尝试进行多线程上传 但出现错误 我猜想也许不可能在 ftplib 中使用多线程 这是我的代码 class myThread threading Thread def init self threadID src counter ima
  • 如何使用 c++11 CAS 实现 ABA 计数器?

    我正在基于此实现一个无锁队列算法 http www cs rochester edu research synchronization pseudocode queues html 它使用计数器来解决 ABA 问题 但我不知道如何用c 11
  • 以线程安全的方式获取随机数

    这是一篇描述随机数线程安全性的好文章 以线程安全的方式获取随机数 http blogs msdn com b pfxteam archive 2009 02 19 9434171 aspx 但我坚持使用 RandomGen2 示例 publ
  • 自定义WebApi授权数据库调用

    我正在尝试确定我编写的自定义授权属性是否确实是一个好主意 Scenario假设我们有一系列商店 每个商店Store有一个主人 只有商店的所有者才能对商店进行CRUD操作 除了具有Claim这基本上超越了所有权要求 并表示他们可以在任何商店上
  • 在我的网站上显示 Google Analytics(分析)仪表板

    我设置了一个 ASP NET 网站 并使用 Google Analytics 进行页面跟踪 我唯一不喜欢的是我必须离开我的网站 到 Google Analytics 网站 才能看到该报告 有什么方法可以使用他们拥有的所有 AJAX 在我自己
  • Java:使用 Java.util.concurrent 线程访问读取线程串行端口

    我正在尝试编写一个 Java 串行设备驱动程序并想使用 对我来说是新的 java util concurrent包裹 我有一种发送数据包然后等待 ACK 的方法 我打算有炭 接收在不同的线程中运行 如果接收线程收到 ACK 它应该使用发送数
  • 在运行时设置 DataGridView 上的 DataFormatString?

    是否可以在运行时设置 ASP NET DataGridView 中的列或单元格的 DataFormatString 属性 这应该有效 BoundField priceField grid Columns 0 as BoundField pr
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 在多个网页(.cshtml 文件)中使用 Razor @functions

    我有以下功能 我希望可用于我的 asp net 网页 2 应用程序中的多个 cshtml 视图 如何使该功能可用于应用程序中的任何视图 而不是仅一个视图 functions public bool DisplayButton String
  • C语言中使用POSIX使二进制信号量在多个进程(不是线程,仅限进程)之间共享

    我正在使用 C 语言中的 POSIX 使二进制信号量在多个进程 不是线程 仅进程 之间共享 如果我使用互斥体创建二进制信号量 typedef struct BIN SEMA pthread cond t cv cond variable u
  • 使用多线程并行化 Java 中的 for 循环

    我对java很陌生 我想使用执行器服务或使用java中的任何其他方法并行化嵌套for循环 我想创建一些固定数量的线程 这样CPU就不会完全被线程占用 for SellerNames sellerNames sellerDataList fo
  • django npm 和 Node 包架构

    在我加入的项目中 这是以下架构node packages Django project app1 app2 node modules foundation sites grunt static css images js urls py s
  • 设置asp.net验证器的顺序

    我使用 3 个验证器来验证文本框 但当在文本框中输入无效值时 所有验证器都会被触发 但我希望这些验证器按照特定的顺序工作 以便用户可以一一解决这些错误
  • ASP.NET 更改模板字段中 Gridview 单元格中的文本和颜色

    我在 ASP net 中有 Gridview 显示数据 根据数据 它会根据单元格的值更改颜色和文本 当列不是模板字段时 这可以正常工作 WORKS WHEN IS NOT A TEMPLATE FIELD if e Row RowType
  • ASP.NET MVC ActionFilterAttribute 在模型绑定之前注入值

    我想创建一个自定义操作过滤器属性 该属性在模型绑定期间可访问的 HttpContext 项中添加一个值 我尝试将其添加到 OnActionExecuting 中 但似乎模型绑定是在过滤器之前执行的 你知道我该怎么做吗 也许模型绑定器中有一个
  • C# 中什么时候应该使用 volatile 关键字?

    谁能提供一个很好的解释volatile https learn microsoft com en us dotnet csharp language reference keywords volatileC 中的关键字 它解决了哪些问题 没
  • 异步填充数据集

    下面的方法用于填充数据集 如果我们以同步方式调用这个方法 它就可以正常工作 但现在我们需要以异步方式调用这个方法 那么我需要做哪些更改才能使下面的方法正常工作而不会出现任何问题 public DataSet Filldata string
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in

随机推荐

  • Xamarin MonoAndroid 设备管理

    我正在使用 Visual Studio 2017 来开发 Android 单视图应用程序 该应用程序应该是一个信息亭应用程序 我的目标是 API 21 在 Visual Studio AVD 设备 提供的模拟器上 我遇到的问题是我似乎无法制
  • 在 Joda 中将 UTC 转换为 LocalDateTime?

    DateTime dt new DateTime 2014 09 15T21 20 14 System out println dt System out println dt plusMillis 581042272 toDateTime
  • Android - 将下一个和上一个按钮添加到软键盘,该按钮在我的活动中单击编辑文本时出现

    我需要将 下一个 和 上一个 按钮添加到我的软键盘上 该键盘在单击活动页面中的编辑文本字段时出现 请为我提供有关实现此概念的教程的指导 提前致谢 您可以通过以下方式在 xml 中执行此操作 android imeOptions action
  • 如何在 WCF 客户端中提供用户名和客户端证书(为什么此示例有效)?

    考虑一个 WCF 服务 其目的是让传输层需要客户端证书 客户端证书在 IIS 中设置为 必需 同样 消息层也会有用户名认证 现在我已经看到这个问题了 禁止 WCF 客户端证书和用户名凭据 我可以在某种程度上理解那里发生的事情 并意识到 WC
  • Serilog HTTP接收器+Logstash:将Serilog消息数组拆分为单独的日志事件

    我们正在使用Serilog HTTP 接收器将消息发送到 Logstash 但是HTTP消息体是这样的 events Timestamp 2016 11 03T00 09 11 4899425 01 00 Level Debug Messa
  • 文件对象的初始化

    我想问一下java中初始化的格式 我目前所知道的是 int a 1 double b 1 0 String c java etc 现在 在主类中我想初始化一个File 我不知道该怎么做 首先 文件是一种对象类型 与原始类型 int 和 do
  • Windows Phone 7 中的网格

    我有一个网格视图代码 下面有分为3列 但我的代码有一个问题 什么时候多重数据被检索到 第 3 列中的所有数据都是重叠的 我如何修改下面的代码 例如它会在下面依次显示 Define grid column size Grid schedule
  • sqlite3 中的列详细信息

    在 SQLITE 数据库中 如果我需要表元详细信息 我可以运行以下命令 C sqlite gt sqlite3 exe sqlite2 db SQLite version 3 7 15 2012 12 12 13 36 53 Enter h
  • 使用最多两位小数的 double

    我想使用双精度 最多只有小数点后两位 即 它将存储最多 2 个小数位 如果比较两个 double 值 则比较应仅基于前 2 个小数位 如何实现这样的事情呢 我的意思是存储 比较 一切都将仅基于小数点后两位 剩下的地方可能不同 大于 小于 无
  • 获取小数点后十二位的纬度和经度

    我有一个应用程序 我必须从纬度和经度获取用户的当前位置 对于这两个值 我必须得到小数点后 12 位 这是用于获取用户位置的 GPS 跟踪器类 public class GPSTracker extends Service implement
  • java.lang.NoClassDefFoundError:com.google.android.gms.gcm.GoogleCloudMessaging

    我正在使用开发 GCM 示例应用程序http javapapers com android google cloud messaging gcm for android and push notifications comment 1037
  • 删除查询字符串“?” HTML 形式的方法 GET

    我有一个在新窗口中打开的简单的 Google 图片搜索表单 当我想将表单参数更改为 Unsplash 在 URL 搜索中不使用查询字符串 时 表单继续发送查询字符串 HTML
  • TYPO3 Ajax 页面配置

    如何从 TYPO3 中的 Ajax 页面删除 CSS 样式的 conted 标头输出 这是我的打字稿 ajax PAGE ajax typeNum 1234 this solution is working but then I don t
  • 使用 http.request 获取 Node.js 中的二进制内容

    我想从 https 请求中检索二进制数据 我找到了一个类似的问题使用请求方法 使用 request 获取 Node js 中的二进制内容 是说设置encoding to null应该有效 但事实并非如此 options hostname u
  • 在 ggplot2 中,在顶部绘制反转 y 轴和 x 轴的图

    我想得到ggplot2绘制顶部带有反转 y 轴和 x 轴的图 我用了scale y reverse 获得反向 y 轴 但无法弄清楚如何将 x 轴放在顶部而不是底部 dfn lt read table header T text supp d
  • Matplotlib 对数刻度刻度标签,乳胶字体中的减号太长

    我在 matplotib 中使用 text usetex True 这对于具有线性比例的图来说非常有用 然而 对于对数刻度 y 刻度如下所示 指数中的负号占用了绘图中的大量水平空间 这不太好 我希望它看起来像这样 该字体来自 gnuplot
  • 日期时间转 JavaScript 日期

    Stackoverflow 上的另一个答案是从 Javascript 日期到 net DateTime 的转换 long msSinceEpoch 1260402952906 Value from Date getTime in JavaS
  • 在球体上使用多个纹理 [Three.js]

    是否可以在球体上加载多个纹理 我的意思是说有什么办法Three js将球体分割成n碎片 单独纹理它们并再次将这些碎片渲染为整个球体 我不想在球体上加载整个纹理 而是只渲染用户首先在屏幕上看到的那些部分 并且当用户旋转球体时 必须加载纹理的其
  • 在边框中间剪开

    我试图实现悬停时看起来像图像的边框 我不知道如何描述边界 但有什么方法可以实现这一点吗 text width 100px height 20px text align center text hover border 1px solid b
  • Blazor 中的轮询线程

    我正在使用 REST API 和 Web 界面构建 Blazor 应用程序 我还将有一个应用程序的监视部分 它将每秒从许多不同的数据源轮询数据 我在一个单独的类中创建了一个长时间运行的线程 它只是轮询我想要的数据 并且似乎工作正常 我使用的