4

この2つの方法の一時パスを設定するにはどうすればよいですか?

System.IO.Path.GetTempFileName()
System.IO.Path.GetTempPath()

私の会社のアプリケーションは、.NET4.0を搭載したWindows2008用に設計されました。ただし、アプリケーションはWindows2008とAzureの両方をサポートする予定です。

Azureではローカルファイルへの書き込みが許可されていないため、Azureで一時ファイルを作成することはできません。アプリケーションでは、大規模な作業に一時ファイルを使用する場所がたくさんあります(つまり、一時ファイルが巨大であるため、データをメモリに入れることができません)。

私の計画ではTempFileWrapper、元の一時ファイルの生成を置き換えるためにを作成します。System.IO.Path.GetTempFileName()ただし、とからの戻り値を変更する方法がある場合はSystem.IO.Path.GetTempPath、作業を節約できます。

4

2 に答える 2

8

このブログ投稿から露骨にコピーされた、3番目のGoogleヒット:

var tempPath = RoleEnvironment.GetLocalResource("Temp").RootPath;
Environment.SetEnvironmentVariable("TEMP", tempPath);
Environment.SetEnvironmentVariable("TMP", tempPath);
于 2010-12-19T22:18:42.780 に答える
5

MSDNのドキュメントGetTempPathでは、パスを見つける方法について説明しています。

  1. TMP環境変数で指定されたパス。
  2. TEMP環境変数で指定されたパス。
  3. USERPROFILE環境変数で指定されたパス。
  4. Windowsディレクトリ。

したがって、TMPorTEMP環境変数を変更するだけです。

于 2010-12-19T22:12:27.563 に答える