Как заставить процесс подождать, пока он не будет завершен до нового запросаC#

Место общения программистов C#
Ответить
Anonymous
 Как заставить процесс подождать, пока он не будет завершен до нового запроса

Сообщение Anonymous »

Я разрабатываю процесс для получения ввода из объекта DB и преобразования данных в экспорт файла Excel. Я использую инструмент NPOI для того же самого. Первый процесс разрывается, и процесс продолжается по новому запросу. Обратите внимание, что я новичок в этом и не совсем уверен, что то, что я сделал, ожидает каждого процесса. Пожалуйста, поправьте меня, если я ошибаюсь. < /P>
byte[] IExportTranslator.CreateExcelExportFile(CalSetupVM calSetupVM, ExportCriteriaVM exportCriteriaVM, string name)
{
return Task.Run(async () => await CreateAsynExportFile(calendarSetupVM, ganttExportCriteriaVM, filterName)).Result;
}

public async Task CreateAsynExportFile(CalSetupVM calSetupVM, ExportCriteriaVM exportCriteriaVM, string name)
{
return await Task.Run(() => doSomeWork(calSetupVM, exportCriteriaVM, name));
}

private byte[] doSomeWork(CalSetupVM calSetupVM, ExportCriteriaVM exportCriteriaVM, string name)
{
//doSomThing...
return byte[...];
}
< /code>
Я сделал приведенный выше код на основе некоторых предложений на форумах. и то, что я прочитал вокруг Asyn/ожидаю. и так далее, чтобы стоять в очереди и обрабатывать один за другим.

Подробнее здесь: https://stackoverflow.com/questions/796 ... ew-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»