.NET更改临时路径
问题描述:
如何为这两种方法设置临时路径?.NET更改临时路径
System.IO.Path.GetTempFileName()
System.IO.Path.GetTempPath()
我公司应用程序是专为Windows 2008和.NET 4.0。但是,该应用程序将支持Windows 2008和Azure。
由于Azure不允许本地文件写入,因此不能在Azure中创建临时文件。在应用程序中,有很多地方使用临时文件进行大量工作(这意味着我们不能将数据放在内存中,因为临时文件很大)。
我的计划是创建一个TempFileWrapper
来替换原始临时文件代。但是,如果只是简单地改变System.IO.Path.GetTempFileName()
和System.IO.Path.GetTempPath
的返回值,那就节省了我的作品!
谢谢!
答
从这个blog post,第3谷歌命中公然复制:
var tempPath = RoleEnvironment.GetLocalResource("Temp").RootPath;
Environment.SetEnvironmentVariable("TEMP", tempPath);
Environment.SetEnvironmentVariable("TMP", tempPath);
答
的MSDN documentation介绍如何GetTempPath
找到路径:
- 由TMP环境变量指定的路径。
- 由TEMP环境变量指定的路径。
- USERPROFILE环境变量指定的路径。
- Windows目录。
因此,只需更改TMP或TEMP环境变量即可。
我们能否改变Azure的这些变量? – 2010-12-19 22:28:14
是的,你可以。不过,看起来汉斯帕斯特打败了我。 – EMP 2010-12-19 23:37:29