Однако такой способ работы кажется мне подходящим быть фиктивным в моем текущем приложении: многопоточном приложении C#, основанном на NLog (последний предназначен для целей ведения журнала).
Источник, который я тестирую, следующий:< /p>
Код: Выделить всё
foreach (var missionpart in mission.missionParts)
{
_logger.Debug($"GetmissionsTelegram : currently dealing with missionPart with Id=[{missionpart.Id}]");
if (missionpart.ProductId != null)
{
if (products.Where(o => o.Id == missionpart.ProductId).FirstOrDefault() == null)
{
add_mission = false;
}
}
_logger.Debug($"GetmissionsTelegram : missionPart with Id=[{missionpart.Id}] is dealt with.");
}
_logger.Debug($"GetmissionsTelegram : will be added=[{addmission}]");
Код: Выделить всё
...
2024-10-17 16:58:13.2446 | GetJobsTelegram : jobPart with Id=[37370] is dealt with.
2024-10-17 16:58:24.1662 | GetJobsTelegram : currently dealing with jobPart with Id=[37371]
...
2024-10-17 17:02:31.9896 | GetJobsTelegram : jobPart with Id=[37320] is dealt with.
2024-10-17 17:02:44.9066 | GetJobsTelegram : currently dealing with jobPart with Id=[37321]
...
2024-10-17 17:04:44.1077 | GetJobsTelegram : jobPart with Id=[37305] is dealt with.
2024-10-17 17:04:55.9323 | GetJobsTelegram : currently dealing with jobPart with Id=[37306]
Я могу подтвердить, что мое приложение действительно занимает много времени. сделать все, поэтому в случае, если NLog выполняет некоторую буферизацию (что вроде бы нормально для технологии Windows), это лишь смещает проблему в бесполезность журналов, но проблема остается.
...или, может быть, есть способ сразу перейти к источнику проблемы: есть ли способ сказать многопоточному приложению C#:
Вы не продолжаете свои другие обсуждения, пока эта задача не будет завершена.
Есть ли у кого-нибудь информация о том, как мне помочь?Вы не продолжаете работу в других темах, пока не завершите эту задачу.
Есть ли у кого-нибудь информация о том, как мне помочь? п>
Подробнее здесь: https://stackoverflow.com/questions/791 ... uctions-in