1

mod_mono を使用して Apache サーバーで ASP.NET アプリケーションを実行しています。Web サイトのルート ディレクトリに「temp」というフォルダーがあり、次のコードを実行するとします。

System.IO.TextWriter tw = new System.IO.StreamWriter("temp/test.txt");
tw.WriteLine(DateTime.Now);
tw.Close();

サーバーの C:\Program Files\Mono-2.6.4\bin\temp に test.txt を保存します。次のようにディレクトリ名にスラッシュを追加すると:

System.IO.TextWriter tw = new System.IO.StreamWriter("/temp/test.txt");

C:/temp に保存します。どちらも私が望むことをしません。

Web サイトのルート ディレクトリ内の一時フォルダーにファイルを保存するコードを取得するにはどうすればよいですか? これは mod_mono の問題ですか、それとも Apache と関係がありますか?

この行を httpd.conf に追加しようとしました

Alias /temp "C:/Path_to_root_folder/temp"

運がなければ。一時フォルダーがルート ディレクトリ内にある場合、エイリアスを使用する必要はありません。

XSP を Web サーバーとして使用する私の開発環境では、すべてが期待どおりに機能します。これは、Apache で実行する場合にのみ問題になります。

4

1 に答える 1

2

試す:

string filename = Server.MapPath("~/temp/test.txt");
using (TextWriter tw = new StreamWriter(filename))
{

}
于 2010-07-16T19:59:19.690 に答える