У меня есть приложение ASP.NET, работающее на сервере Apache с mod_mono. Если я имею папку, названную "временным файлом", расположенным в корневом каталоге веб-сайта, и выполняю следующий код
System.IO.TextWriter tw = new System.IO.StreamWriter("temp/test.txt");
tw.WriteLine(DateTime.Now);
tw.Close();
это сохраняет test.txt в C:\Program Files\Mono-2.6.4\bin\temp on the server. Если я добавляю наклонную черту к имени каталога как это:
System.IO.TextWriter tw = new System.IO.StreamWriter("/temp/test.txt");
Это сохраняет его к C:/temp. Оба не делают то, что я хочу.
Как я заставляю код сохранить файл к временной папке в корневом каталоге моего веб-сайта? Действительно ли это - проблема mod_mono или что-то, чтобы сделать с Apache?
Я попытался добавить эту строку к httpd.conf
Alias /temp "C:/Path_to_root_folder/temp"
без любой удачи. Мне не придется использовать псевдоним, если временная папка в корневом каталоге, корректном?
В моей среде разработки, которая использует XSP в качестве веб-сервера, все работает как ожидалось. Это - только проблема при работе Apache.
Попробуйте:
string filename = Server.MapPath("~/temp/test.txt");
using (TextWriter tw = new StreamWriter(filename))
{
}