在IIS中获取临时文件夹

时间:2017-02-12 12:37:41

标签: c# wcf iis

我在WCF服务中使用 System.IO.Path.GetTempPath() 在IIS中的临时文件夹路径中创建临时文件。 我希望得到 C:\ Users [user] \ AppData \ Local \ Temp 路径,但我得到 C:\ Windows \ Temp而不是

如何获得预期路径?

2 个答案:

答案 0 :(得分:1)

Kernel32.dll:GetTempPath()的文档可能对您有所帮助:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa364992(v=vs.85).aspx

基本上发生的事情是IIS在一个没有定义USERPROFILE env变量的帐户下运行,所以它使用TMP或TEMP代替。

请记住,w3wp(IIS中的工作进程)通常作为DefaultAppPool运行,而不是作为分配了目录的实际用户运行。

希望这有帮助!

答案 1 :(得分:0)

//This code is you need, this code is getting current user temp directory.
string temp = System.Environment.GetEnvironmentVariable("TEMP");
//This method is getting system temp directory.
System.IO.Path.GetTempPath();