AboveCodeThe result is as follows:
When accessing a website, the result is as follows:
| Virtualpathutility. toabsolute ("~ /") |
=/ |
| Httpruntime. appdomainappvirtualpath |
=/ |
| Request. applicationpath |
=/ |
| Page. resolveurl ("~ ") |
=/ |
When you use a virtual directory (http: // localhost: 806/web2/url. aspx), the result is as follows:
| Virtualpathutility. toabsolute ("~ /") |
=/Web2/ |
| Httpruntime. appdomainappvirtualpath |
=/Web2 |
| Request. applicationpath |
=/Web2 |
| Page. resolveurl ("~ ") |
=/Web2/ |
The second and third methods also need to be processed, because the Website access ends with a slash (/), but the access to a virtual directory does not contain a slash (/), and a judgment is required, A little effort.
However, there is no problem in using these methods on the page, but if you need to obtain the absolute path of the website in the global application_start event, you need to use the first two methods, if the third method is used, the following error is reported:
Request is not available in this context
Therefore, you can only use the first two methods. For example
C # code Void Application_start ( Object Sender, eventargs E)
{
System. Io. streamwriter s = New System. Io. streamwriter (httpruntime. appdomainapppath + " Log.txt " );
S. writeline (virtualpathutility. toabsolute ( " ~ / " ));
S. writeline (httpruntime. appdomainappvirtualpath );
S. Close ();
}
1. the symbol "/" refersProgramRun in the root directory, that isThe directory where IIS is located.
If the IIS directory is D: \ Programs
Solution: D: \ Programs \ D
Website path: D: \ Programs \ D \ WEB \
The symbol "/" represents D: \ Programs,NoHow many levels are in front of your website should be regarded as a whole.
2. symbol "~ /"Indicates the root directory of the website. That is, D: \ Programs \ D \ Web.
The test code is as follows:
Protected void button#click (Object sender, eventargs E)
{
Response. Write (server. mappath ("/"));
Response. Write ("<br/> ");
Response. Write (server. mappath ("~ /"));
}
Output result:
C: \ Inetpub \ wwwroot \
D: \ programs2008 \ website2 \