首页 > 解决方案 > 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;
            }
        }
    }

标签: c#eventsopc-ua

解决方案


推荐阅读