Как создать временный файл с использованием потоков в C # - PullRequest
0 голосов
/ 27 января 2012

Мне нужно создать временный файл (new.txt) в моем файле Handler.ashx, но дело в том, чтобы сохранить созданный файл Excel в new.txt как временный файл. Проблема в том, что я жестко запрограммирован временный файл как "new.txt". Если более одного пользователя получат доступ к одному приложению, что произойдет. Как преодолеть эту проблему. Можем ли мы использовать многопоточность.

пример кода ..

 if (File.Exists(context.Server.MapPath("new.txt")))
            {
                File.Delete(context.Server.MapPath("new.txt"));
                xlWorkBook.SaveAs(context.Server.MapPath("new.txt"), Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

            }
            if (!File.Exists(context.Server.MapPath("new.txt")))
            {

                xlWorkBook.SaveAs(context.Server.MapPath("new.txt"), Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

            }

   string file = context.Server.MapPath("new.txt");
            byte[] myByte = File.ReadAllBytes(file);

            File.Delete(context.Server.MapPath("new.txt"));

            context.Response.Clear();
            context.Response.BinaryWrite(myByte);
            context.Response.Flush();
            context.Response.Close();  

1 Ответ

6 голосов
/ 27 января 2012

Используйте System.IO.Path.GetTempFileName() или Path.GetRandomFileName() метод.

...