У меня есть следующий метод в одном из моих бизнес-менеджеров:
public ImportItemsResult Import(String fullPath)
{
OleDbDataManager oleDbDataManager = new OleDbDataManager();
List<ItemInfo> importedData = oleDbDataManager.GetData<ItemInfo>(fullPath, ItemInfoMapper).ToList();
ImportItemsResult result = ValidateImportedData(importedData);
if (result.Status == OperationStatus.Success)
{
//do something with importedData in the background and return
//the result to the user right away
}
return result;
}
Код позволяет пользователю загрузить файл .csv, который затем анализируется и проверяется.После проверки, если все данные были в порядке, данные обрабатываются и сохраняются в базе данных, в противном случае файл отклоняется, и пользователю отображается пользовательский интерфейс с подробным сообщением об ошибке.
- Можно ли предположить, что, как только проверка приводит к успешному завершению, обработка должна - теоретически - пройти нормально, потому что все данные действительны?* Можно ли запустить код обработки в фоновом потоке и сразу же вернуться из этого метода?Могу ли я сделать это внутри оператора if в приведенном выше коде или мне нужно перестроить все это?показать эту функциональность через веб-сервис WCF, и я не знаю, как долго он будет обрабатывать данные, что может привести к превышению времени ожидания веб-сервиса в случае, если это займет слишком много времени.Есть предложения?