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

下面就是几种获取绝对路径的几种方法。

VirtualPathUtility.ToAbsolute( " ~/ " ) 
HttpRuntime.AppDomainAppVirtualPath 
Request.ApplicationPath 
Page.ResolveUrl( " ~ " )  

以上代码生成的结果如下:
当以网站的方式访问时,结果如下: 

VirtualPathUtility.ToAbsolute("~/") = / 
HttpRuntime.AppDomainAppVirtualPath = / 
Request.ApplicationPath = / 
Page.ResolveUrl("~") = / 

当以虚拟目录(http://localhost:806/web2/url.aspx)访问时,结果如下:

VirtualPathUtility.ToAbsolute("~/") = /web2/ 
HttpRuntime.AppDomainAppVirtualPath = /web2 
Request.ApplicationPath = /web2 
Page.ResolveUrl("~") = /web2/ 

采用第二种和第三种方法,还需要做一下处理,因为网站访问时是以/结尾,而以虚拟目录访问时则是没有/的,进行还得进行一次判断,稍微麻烦一点。
但是,这些方法在页面中使用是没有任何问题的,但是如果在 Global 的 Application_Start 事件里需要得到网站的绝对路径,则需要使用前面2种方法,如果使用第三种方法,则会报告如下的错误:
Request is not available in this context 
所以,只能采取头2种方法。例如

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(); 
}  
时间: 2024-12-09 11:42:16

ASP.NET编程取得网站绝对路径5方法的相关文章

ASP.NET编程获取网站根目录方法小结_实用技巧

本文实例讲述了ASP.NET编程获取网站根目录方法.分享给大家供大家参考,具体如下: 获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../"

在ASP中实现通用的绝对路径生成方法

在我开发ASP + Access的Web应用时,都会遇到数据库文件路径的定位问题.如果在自己的计算机上实现时可以直接指定了事,但如果做的项目要上传到别的服务器或移动别的机器上运行使用,每次都要把这个路径改来改去的话显得有些繁锁,下面结合我做这个网站的经验来解决这个问题,让我们可以"一劳永逸". 在ASP中使用Server.MapPath("file.asp")语句后,会返回该文件在本地驱动器上的绝对路径,如"D:\MySite\test\file.asp&

asp.net编程获取项目根目录实现方法集合_实用技巧

本文实例总结了asp.net编程获取项目根目录实现方法.分享给大家供大家参考,具体如下: 编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2.取得Web应用程序的根目录方法 方法1.HttpRuntime.AppDoma

ASP.NET编程入门随想之宽容

asp.net|编程 古老的山谷中村民生活简单而富足,山谷中有个陡峭的山岩,传说山岩那边有着肥美的牧场,山岩下有累累白骨,那是企图攀越山岩,去寻找传说中的牧场的人的尸骨,于是人们制定了律法,禁止攀越山岩,禁止谈论和寻找传说的牧场,声称那是神的牧场,这些律法由守旧老人维护着.一天夜里一个浑身是伤的人步履蹒跚的回到村里,他告诉村民们,他找到了传说中的牧场并希望村民跟随前往.但守旧老人的威严和律法的神圣压制了村民的躁动,漂泊者也被处死.一天灾难降临山谷.尽管守旧老人试图维护受到越来越多的村民的求生欲望

ASP.NET编程入门随想之宽容(修改版)

asp.net|编程 相关文章:ASP.NET编程入门随想之宽容 古老的山谷村民生活富足,守旧老人维护着经典和秩序.一位不满现状的漂泊者却宣称外面有更好的世界在等着大家,并鼓动村民跟随前往.但守旧老人的威严和律法的神圣压制了村民的躁动,漂泊者也被处死.一天灾难降临山谷.尽管守旧老人依然试图维护经受村民的求生欲望挑战的律法.但暴动还是发生,老人们被击败,新的道路和新的生活被村民找到.怀着感恩之心,后人把以前的漂泊者奉为先知,尽管他早已尸骨无存. -- 房龙<宽容•序言> ■ 宽容 – W3C 的

实例分析学习ASP+XML编程

asp+|xml|编程 本文是一篇实例讲解的文章.作为一个普通的程序员,我深知,一个优秀的例程,对于正在学习编程的人是多么的有帮助.本文中使用的例程,是一个联系信息管理程序,我也是写来以方便自己和朋友们互相联系用的.但麻雀虽小,五脏俱全,相信对正在学习ASP+XML编程的朋友们,还是具备一定的参考价值的. 读者可以通过此实例,了解在ASP(Active Server Page)中如何操纵XML文件,并进行数据的各种处理,包括XML节点的建立.修改.删除和保存等等.文中涉及到的技术包括ASP,

ASP.NET编程入门解析

安装运行.NET需要的软件 我这里推荐一本书:<beginning asp.net 1.1with vb.net 2003>就是<asp.net 1.1入门经典--vb.net2003编程篇>这本书讲的很不错,适合初学者. 个人基础:asp基本掌握,c++基本掌握: 电脑配置:6.5G硬盘+128M内存,其他设备都是类似的配置+windows2000: 软件要求吧: 1.MDAC 2.7(微软数据库引擎)大约5.01M: 2.Microsoft.NET framework1.1大约

关于ASP.NET编程中的嵌套If语句

本文将为大家简单介绍一下有关ASP.NET编程中的嵌套If语句的格式及用法,希望对大家有所帮助.下面就具体来看一下. 嵌套If语句 其格式如下: 以下是引用片段: If条件式1Then If条件式2Then 语句块1 Else 语句块1-2 EndIf 其他语句 Else 语句块2 EndIf 所谓的嵌套if语句,就是在If条件式中的语句块也是一组if条件式,其语句块又为一组if条件式,如此重复下去直到条件设置完毕. 一般而言,最复杂的条件式为嵌套条件式语句,以上所提到的所有条件式语句格式都可以

ASP.NET获取路径的方法

原文:[转载]ASP.NET获取路径的方法 HttpContext.Current.Request.PhysicalPath;    // 获得当前页面的完整物理路径.比如 F:\XFU.NSQS\project\website\Default.aspxHttpContext.Current.Request.PhysicalApplicationPath; // 获得当前程序运行的物理路径比 如F:\XFU.NSQS\project\website\HttpContext.Current.Ser