Я пытаюсь открыть временный файл HTML в браузере по умолчанию и затем удалить файл:
var tempFileName = Path.ChangeExtension(Path.GetTempFileName(), "html");
// I save document to temp file here...
Process process = null;
try
{
process = Process.Start(tempFileName);
}
catch (Win32Exception)
{
}
catch (ObjectDisposedException)
{
}
catch (FileNotFoundException)
{
}
var worker = new BackgroundWorker();
worker.DoWork += (s, we) => {
if (process != null)
{
process.WaitForExit();
try
{
File.Delete(tempFileName);
}
catch (IOException)
{
}
}
};
worker.RunWorkerAsync();
К сожалению, Process.Start
возвращает null, если процесс не запущен, но используется работающий (открывается новая вкладка в Google Chrome). Поэтому я не могу дождаться завершения этого процесса.
Итак, общий вопрос: как выполнить задание? Как показать пользователю временный HTML-файл и удалить его после просмотра?