Убить выполнение функции, если длительность превышает заданное - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня происходит выполнение функции над файлом. Иногда файлы приходят битые и выполнение функции над ними по времени выливается в бесконечность. Каким образом мне ограничить выполнение функции по времени? Если выполнение превышает заданное количество времени, похерить все и идти дальше? Спасибо

Решение задачи: «Убить выполнение функции, если длительность превышает заданное»

textual
Листинг программы
            
Application word = new Application();
FileInfo sourceFile;
Microsoft.Office.Interop.Word.Document document;
try
{
      sourceFile = new FileInfo(filepath);
      document = word.Documents.Open(sourceFile.FullName);
      newFileName = sourceFile.FullName.Replace(".doc", ".docx");
      newFileName = sourceFile.FullName.Replace(".rtf", ".docx");
      document.SaveAs2(newFileName, WdSaveFormat.wdFormatXMLDocument,
           CompatibilityMode: WdCompatibilityMode.wdWord2010); 
      document.Close(false, false, false);
      word.Quit(false, false, false);
      document = null;
      word = null;
      GC.Collect();
      File.Delete(filepath);
      filepath = newFileName;
}
catch (Exception ex)
{
      stateWord = false;
}
finally
{
      document = null;
      word = null;
      GC.Collect();
}

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы