要获取的是用户的临时文件夹,比如:C:\Users\admin\AppData\Local\Temp
而不是系统的临时文件夹,比如:C:\Windows\TEMP在winform程序里,使用System.IO.Path.GetTempPath()就可以获取到了,但是建立了一个windows 服务程序后,怎么获取的就是C:\Windows\TEMP?在windows 服务程序里,怎么获取到像C:\Users\admin\AppData\Local\Temp这样的用户临时文件夹?

解决方案 »

  1.   

    这个msdn上写的很明白所以问题也就很清楚了,前两个你木定义自然就木有,至于第3个因为asp.net并不是用iis账户/aspnet帐户(或者newworksevice组)身份运行,这些帐号也通常不在user文件夹里出现,自然第3个一个木有。最后他只能找到第4个了
      

  2.   

    所以解决方法也很简单,你把window服务的运行身份设置为在 USERPROFILE 里存在的身份运行即可
      

  3.   

    如果你的服务跑在system或者local service/network service这样的账户中,获取到windows/temp才是你想要的。