如何使用c#中的线程创建临时文件

时间:2012-01-27 09:19:13

标签: c# multithreading httphandler

我需要在我的Handler.ashx文件中创建一个临时文件(new.txt),但问题是我将创建的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 个答案:

答案 0 :(得分:6)

使用System.IO.Path.GetTempFileName()Path.GetRandomFileName()方法。