|
Absolut richtig.
Genau dafür ist diese Umgebungsvariable da. – klaus_b 15.02.10
|
||
| 2 |
Die Variable ist auch Benutzerspezifisch, da im Normalfall auf ein Verzeichnis unterhalb des Userprofile-Verzeichnisses zugegriffen wird. Es sei denn es hat jemand dran rum gefummelt ;-)
– Blue 15.02.10
|
|
| 1 |
Benutzerspezifisch ist ja genau richitg. Bei ASP.NET ist es in der Regel immer der selbe User und bei Winforms ist es der einzige richtige Ort.
– GENiALi 16.02.10
|
this.cacheDirectory = ConfigurationSettings.AppSettings["CacheDirectory"] ?? Environment.GetEnvironmentVariable("TEMP");
|
Du musst aber unbedingt darauf achten, dass ASP.NET Schreibrechte für das angegebenen Verzeichnis besitzt.
– klaus_b 17.02.10
|
||
|
Ja, das sollte man dazu sagen. Im normalen Arbeitsverzeichnis hat es offensichtlich keinen Schreibzugriff wie ich gerade ausprobiert habe - was wie ich glaube ein Windowsordner ist - das hätte ich eigentlich auch nachgucken können, aber ich muss nun ins Bett :).
– Vash 17.02.10
|
|
...ist möglich, würde ich aber nicht empfehlen. Im Standardfall ist das genau das gleiche wie %TEMP%, wenn allerdings jemand seinen Temp-Path ändert, legt man damit, für den Nutzer nicht änderbar, einen weiteren Temp-Ordner an. Machen das 10 Programme mit evtl abweichenden Namen, hat man 10 verschiedene Temp-Ordner. Da kommt freude auf ;o)
– Blue 08.04.10
|
||
|
Ich wuerde anstatt des path.EndsWith Kram eher die Variante
path = Path.Combine(path, "temp") Empfehlen. viel kuerzer und einfacher :) – Booser 14.05.10
|
string tmp = Path.GetTempPath();
This method checks for the existence of environment variables in the following order and uses the first path found:
The path specified by the TMP environment variable.
The path specified by the TEMP environment variable.
The path specified by the USERPROFILE environment variable.
The Windows directory.