c# - c#事件触发后按正确顺序调用方法
问题描述
应用程序正在使用 OPC 客户端。此 OPC 客户端会为每个值更改事件触发。在事件处理程序中,我使用 Task.Factory.StartNew 来调用方法。但是现在,我认识到该方法是以错误的顺序调用的。我想以正确的顺序调用该方法。并且必须异步调用该方法,因为每个方法调用的执行时间不同。
事件处理程序片段:
private void OpcClientInterface_ValueChangeEvent(object sender, OPCClient.OPCClient.strMonitoredItems e)
{
string sValue = String.Empty;
for (int i = 0; i < listOPCItemID.Count; i++)
{
if (listOPCItemID[i].Equals(e.sNodeID))
{
Task.Factory.StartNew(() => GetResult(e.oValue, e.sNodeID));
break;
}
}
}
解决方案
推荐阅读
- android - 放大身份验证:无法将用户添加到池中
- android - 在没有 FCM 的情况下使用颤振发送推送通知
- c# - 如何在以特定名称开头的列中查找行?
- scrapy - 以href为CDN端点的scrapy下载图像
- javascript - 递归:前缀和
- python - 为什么我不能更改导入到 Jupyter 笔记本中的 .py 文件中的变量?
- android - ViewModel在Activity中设置数据并在Fragment中使用
- android - 打开特定文件扩展名的文件选择器
- monaco-editor - 在 IMarkerData 中使用降价
- reactjs - 在没有 MDX 的 Markdown 中插入一个 React 组件