1. Cardinal Changes in Eventlog.
From Threads to ProcessTask<TInput>
EventLogs.cs
public interface IEventLogs : IEventLog, IHaveQueue<IEventLogItem>
{
void Start();
void Stop();
}
private void SetupProcessTask()
{
ProcessTask = new ProcessTask<IEventLogItem>();
ProcessTask.Init(this);
ProcessTask.Parent = this;
ProcessTask.ItemProcessingAction = evli =>
{
try
{
AddItem(evli);
}
catch (Exception e)
{
Evlm2(EvlResult.FATAL, EvlSubject.PROGRAMMING,
GetType().Name, "ProcessTask", "Exception", e.Message);
}
};
}
public void Start()
{
ProcessTask?.Start();
}
public void Stop()
{
EventLogs.Init()
{
...
...
TradeContext5.cs
// 2018.05.11 new EventLog with Processor Inside ProcessTask<IEvlItem>
TradeContext51.cs // Good Buy Threads
// 2018.05.11
// UIProcess.RegisterProcess("EventLog Dequeue Process", "EventLog.DeQueue",
// 1000, 0, null, ((IEventLogs) EventLog).DeQueueProcess, null);
WpfTradeContext CloseWindow:
EventHandlers.cs
private void WindowClosed(object sender, EventArgs e)
{
_tx.Stop();
//Thread.Sleep(5000);
_tx.Close();
From Threads to ProcessTask<TInput>
EventLogs.cs
public interface IEventLogs : IEventLog, IHaveQueue<IEventLogItem>
{
void Start();
void Stop();
}
private void SetupProcessTask()
{
ProcessTask = new ProcessTask<IEventLogItem>();
ProcessTask.Init(this);
ProcessTask.Parent = this;
ProcessTask.ItemProcessingAction = evli =>
{
try
{
AddItem(evli);
}
catch (Exception e)
{
Evlm2(EvlResult.FATAL, EvlSubject.PROGRAMMING,
GetType().Name, "ProcessTask", "Exception", e.Message);
}
};
}
public void Start()
{
ProcessTask?.Start();
}
public void Stop()
{
ProcessTask?.Stop();
}EventLogs.Init()
{
...
...
SetupProcessTask();
}TradeContext5.cs
// 2018.05.11 new EventLog with Processor Inside ProcessTask<IEvlItem>
((IEventLogs)EventLog)?.Start();
TradeContext51.cs // Good Buy Threads
// 2018.05.11
// UIProcess.RegisterProcess("EventLog Dequeue Process", "EventLog.DeQueue",
// 1000, 0, null, ((IEventLogs) EventLog).DeQueueProcess, null);
WpfTradeContext CloseWindow:
EventHandlers.cs
private void WindowClosed(object sender, EventArgs e)
{
_tx.Stop();
//Thread.Sleep(5000);
_tx.Close();
Комментариев нет:
Отправить комментарий