net основной веб-API-проект. Я обычно использую журналы в каждом приложении, чтобы иметь некоторые дополнительные возможности отслеживания общего состояния системы. В настоящее время моя «запись в журнал» происходит синхронно, например
void MyMethod()
{
Log.Write("initiating");
//Do Something
Log.Write("finished");
}
Теперь Log.Write () будет потреблять время в основном потоке, так как это, в конце концов, вставка sql. Как я могу сделать Log.Write как асинхронным (стиль Task.Run, для которого мне не нужно возвращаемое значение, так что не нужно ждать) И разрешить свое собственное sql соединение? Если Log.Write () использует то же соединение, которое имеет мой контроллер / метод, оно будет удалено после основного выполнения, и я рискую не иметь открытого соединения при запуске задачи asyn c. Поэтому Write () должен разрешать свое собственное соединение, и это метод, который можно вызывать сотни, если не тысячи раз в минуту.
Спасибо!