Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Server.MapPath()

I want to use Server.MapPath() method im order to map a virtual directory I created to its physical path.

The thing is that the .net environment doesn't recognize Server.MapPath().

Google told me I'm supposed to use HttpContext.Current.Server using System.Web, but HttpContext isn't recognized in spite of me using System.Web. (And I've checked - HttpContext IS one of System.Web's classes)

Help?

like image 677
user181218 Avatar asked Oct 05 '09 09:10

user181218


People also ask

What does server MapPath do?

The MapPath method maps the specified relative or virtual path to the corresponding physical directory on the server.

What value is return by server MapPath method?

If the path starts with either a forward slash(/) or backward slash(\) the MapPath Method returns a path as if the path is a full virtual path. If the path doesn't start with a slash, the MapPath Method returns a path relative to a directory of the . asp file being processed.

How do I find the Web API server path?

To get the physical file path in a Web API, you need to use HostingEnvironment. MapPath() method. var sPath = System.

What is virtual path and physical path in asp net?

Physical path - This is the actual path the file is located by IIS. Virtual path - This is the logical path to access the file which is pointed to from outside of the IIS application folder.


2 Answers

Make sure you have included System.Web in your projects References Do these (In Visual Studio IDE):

  1. Right click on the Project Node (Solution Explorer Window)
  2. On the context mennu, click Add Reference
  3. Select System.Web on the .NET Tab list items.
  4. Hit OK button

Server.MapPath should now be available.

like image 158
jerjer Avatar answered Sep 23 '22 05:09

jerjer


If you have a web application, you should automatically have a reference to System.Web.dll, and you should have access to the System.Web.HttpContext class. Check that you haven't accidentally removed the reference. You would need a using System.Web; statement to access the HttpContext class without specifying the complete namespace.

If you don't have a web application you would have to add a referece to System.Web.dll to get access to the HttpContext class, but that would not help you a bit. As you are not in a web application, there is no HTTP context and there is no web root folder, so you can not use the MapPath method.

like image 21
Guffa Avatar answered Sep 21 '22 05:09

Guffa