Turn: Server.MapPath Related

Source: Internet
Author: User

If you execute this statement from a class that inherits from the page class, you can simply use the
DataBase = Server.MapPath ("Data.mdb");
Otherwise write full namespace: System.Web.HttpContext.Current.Server.MapPath ();

Total Note: The path obtained by Server.MapPath is the physical path on the server, that is, the absolute path that is always said
1, Server.MapPath ("/")
Note: Obtain the location of the application root directory, such as C:\Inetpub\wwwroot\.
2, Server.MapPath ("./")
Note: Get the current directory on the page, equivalent to Server.MapPath ("").
3, Server.MapPath (".. /")
Note: Get the parent directory for your page.
4, Server.MapPath ("~/")
Note: Get the current application-level program directory, if it is the root directory, is the root directory, if it is a virtual directory, is the location of the virtual directory, such as C:\Inetpub\wwwroot\Example\.

The use of httpcontext.current,httpcontext.current in multi-threaded is given null.
So the thread calls the method, and the System.Web.HttpContext.Current.Server.MapPath () inside the class in the method cannot get the object.

This should be used:

public static string MapPath (String strpath)
{
if (httpcontext.current! = null)
{
Return HttpContext.Current.Server.MapPath (strpath);
}
else//non-Web program reference
{
strpath = Strpath.replace ("/", "\ \");
if (strpath.startswith ("\ \"))
{
strpath = strpath.substring (strpath.indexof (' \ \ ', 1)). TrimStart (' \ \ ');
strpath = Strpath.trimstart (' \ \ ');
}
Return System.IO.Path.Combine (AppDomain.CurrentDomain.BaseDirectory, strpath);
}
}

http://blog.csdn.net/lego2816/article/details/6781677

Turn: Server.MapPath Related

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.