## [ASP.NET]ASP.NET and physical path

In ASP.NET page, the following code:

Directory.GetCurrentDirectory();

will return "c:\windows\system32\inetsrv" this means, if you writing file without specify a directory, this file will be writen to "c:\windows\system32\inetsrv". for example, in asp.net the following code will write a test.txt to this system folder.

System.IO.StreamWriter file = new StreamWriter("test.txt");
file.WriteLine("good");
file.Close();

Sometimes, we want to write file to a specified virtual folder, say, App_Data folder. how can we get the physical path of this App_Data file? we can use the following code to get the physical path of current virtual folder.

Server.MapPath("~/");

Then, by

Server.MapPath("~/App_Data")

We have the physical path of App_Data folder.

If it is non-asp.net environment, then use
string path = HostingEnvironment.MapPath("~");