asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET编程取得网站绝对路径5方法


发布日期:2018年05月05日
 
ASP.NET编程取得网站绝对路径5方法

下面就是几种获取绝对路径的几种方法
VirtualPathUtilityToAbsolute("~/")
HttpRuntimeAppDomainAppVirtualPath
RequestApplicationPath
PageResolveUrl("~")
以上代码生成的结果如下
当以网站的方式访问时结果如下

VirtualPathUtilityToAbsolute("~/")=/
HttpRuntimeAppDomainAppVirtualPath=/
RequestApplicationPath=/
PageResolveUrl("~")=/

当以虚拟目录()访问时结果如下

VirtualPathUtilityToAbsolute("~/")=/web/
HttpRuntimeAppDomainAppVirtualPath=/web
RequestApplicationPath=/web
PageResolveUrl("~")=/web/

采用第二种和第三种方法还需要做一下处理因为网站访问时是以/结尾而以虚拟目录访问时则是没有/的进行还得进行一次判断稍微麻烦一点
但是这些方法在页面中使用是没有任何问题的但是如果在Global的Application_Start事件里需要得到网站的绝对路径则需要使用前面种方法如果使用第三种方法则会报告如下的错误
Requestisnotavailableinthiscontext
所以只能采取头种方法例如
voidApplication_Start(objectsenderEventArgse)
{
SystemIOStreamWriters=newSystemIOStreamWriter(HttpRuntimeAppDomainAppPath+"logtxt");
sWriteLine(VirtualPathUtilityToAbsolute("~/"));
sWriteLine(HttpRuntimeAppDomainAppVirtualPath);
sClose();
}

上一篇:ASP.NET中获取URL重写前的原始地址

下一篇:asp.net StreamReader 创建文件的实例代码