Home > General > server.mappath(“.”), server.mappath(“~”), server.mappath(@”\”), server.mappath(“/”). What is the difference?

server.mappath(“.”), server.mappath(“~”), server.mappath(@”\”), server.mappath(“/”). What is the difference?

server.mappath(“.”), server.mappath(“~”), server.mappath(@”\”), server.mappath(“/”). What is the difference?

Server.MapPath specifies the relative or virtual path to map to a physical directory.

Server.MapPath(“.”) returns the current physical directory of the file (e.g. aspx) being executed
Server.MapPath(“..”) returns the parent directory
Server.MapPath(“~”) returns the physical path to the root of the application
Server.MapPath(“/”) returns the physical path to the root of the domain name (is not necessarily the same as the root of the application)

An example:

Let’s say you pointed a web site application (http://www.example.com/) to

C:\Inetpub\wwwroot
and installed your shop application (sub web as virtual directory in IIS, marked as application) in

D:\WebApps\shop
For example, if you call Server.MapPath in following request:

http://www.example.com/shop/products/GetProduct.aspx?id=2342
then:

  • Server.MapPath(“.”) returns D:\WebApps\shop\products
  • Server.MapPath(“..”) returns D:\WebApps\shop
  • Server.MapPath(“~”) returns D:\WebApps\shop
  • Server.MapPath(“/”) returns C:\Inetpub\wwwroot
  • Server.MapPath(“/shop”) returns D:\WebApps\shop
  • If Path starts with either a forward (/) or backward slash (\), the MapPath method returns a path as if Path were a full, virtual path.

    If Path doesn’t start with a slash, the MapPath method returns a path relative to the directory of the request being processed.

    Note: in C#, @ is the verbatim literal string operator meaning that the string should be used “as is” and not be processed for escape sequences.

    Ref: http://stackoverflow.com/questions/275781/server-mappath-server-mappath-server-mappath-server-mappath
    Thanx to the post.

    Categories: General
    1. No comments yet.
    1. No trackbacks yet.

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Connecting to %s

    Follow

    Get every new post delivered to your Inbox.