.NET更改临时路径

时间:2010-12-19 22:09:51

标签: .net azure file temp

如何为这两种方法设置临时路径?

System.IO.Path.GetTempFileName()
System.IO.Path.GetTempPath()

我的公司应用程序是为带有.NET 4.0的Windows 2008而设计的。但是,该应用程序将支持Windows 2008和Azure。

由于Azure不允许本地文件写入,因此无法在Azure中创建临时文件。在应用程序中,有许多地方使用临时文件进行大量工作(这意味着我们无法将数据放入内存,因为临时文件很大。)

我的计划是创建一个TempFileWrapper来替换原始临时文件生成。但是,如果有简单的方法来更改System.IO.Path.GetTempFileName()System.IO.Path.GetTempPath的返回值,则可以保存我的作品!

谢谢!

2 个答案:

答案 0 :(得分:5)

明确地复制了这个blog post,第三次google点击:

var tempPath = RoleEnvironment.GetLocalResource("Temp").RootPath;
Environment.SetEnvironmentVariable("TEMP", tempPath);
Environment.SetEnvironmentVariable("TMP", tempPath);

答案 1 :(得分:3)

MSDN documentation描述了GetTempPath如何找到路径:

  1. TMP环境变量指定的路径。
  2. TEMP环境变量指定的路径。
  3. USERPROFILE环境变量指定的路径。
  4. Windows目录。
  5. 只需更改TMP或TEMP环境变量即可。