我在WCF服务中使用 System.IO.Path.GetTempPath() 在IIS中的临时文件夹路径中创建临时文件。 我希望得到 C:\ Users [user] \ AppData \ Local \ Temp 路径,但我得到 C:\ Windows \ Temp而不是
如何获得预期路径?
答案 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();