public TelecomTask(XPathNavigator nav, TaskWorker worker) : base(nav, worker) { _LOG = worker._LOG; OnStart += (t) => _LOG.Trace("Start: " + t); OnStop += (t) => _LOG.Trace("Stop: " + t); OnList += (t) => _LOG.Trace("List: " + t); OnListError += (t, e) => _LOG.HandleException(e, "List: " + t); OnRead += (t, m, msg, ti) => _LOG.Trace("Read: " + t + m + " msgCount=" + (msg == null ? 0 : msg.Count)); OnReadError += (t, m, msg, ti, e) => _LOG.HandleException(e, "Read: '" + ti.Status + "' " + t + m); OnWrite += (t1, m1, m2, msg, ti) => _LOG.Trace("Write: " + t1 + m1 + " >> " + m2); //msg OnWriteError += (t1, m1, m2, msg, ti, e) => _LOG.HandleException(e, "Write: '" + ti.Status + "' " + t1 + m1 + " >> " + m2); //msg OnDelete += (t, m, ti) => _LOG.Trace("Delete: " + t + m); OnDeleteError += (t, m, ti, e) => _LOG.HandleException(e, "Delete: " + t + m); TaskQueuePath = Path.Combine(AppContext.AppDir, TaskInfo["Name"] + "TaskQueue.dat"); var v = nav.GetAllChildAttributes(); foreach (var x in v["read"]) { readTask[x.Key] = x.Value; } foreach (var x in v["write"]) { writeTask[x.Key] = x.Value; } }