asp.net编程获取项目根目录实现方法集合
本文实例了asp.编程获取项目根目录实现方法。分享给大家供大家参考,具体如下
编写程序的时候,经常需要用的项目根目录。自己如下
1、取得控制台应用程序的根目录方法
方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
2、取得Web应用程序的根目录方法
方法1、HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径
方法3、Request.ApplicationPath;//获取服务器上ASP.NET应用程序的虚拟应用程序根目录
3、取得WinForm应用程序的根目录方法
① Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
② Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
③ Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
④ AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
⑤ AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称
其中以下两个方法可以获取执行文件名称
1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
相信很多用asp.+Aess做网站的朋友经常都会有这样一个需求:就是想在数据库访问层类库中获取Aess数据库的物理路径,然后再拼接数据库连接字符串进行数据库相关的操作.在网站UI层我们可以有很多种方法获取一个网站的物理路径,如:
1. Request.PhysicalApplicationPath
2. Request.MapPath("~/"),在数据库访问层用这些方法就不行
using System.Reflection; using System.IO; //使用前别忘了引用这两个命名空间 /// <summary> /// 获取Aess数据库的物理路径 /// </summary> /// <returns></returns> public static string GetDBPath() { string str = Assembly.GetExecutingAssembly().Location; str = Path.GetDirectoryName(str) + @"\__AssemblyInfo__.ini"; str = File.ReadAllText(str, System.Text.Encoding.Unicode); int index = str.IndexOf("file:///") + 8; int length = str.IndexOf("/bin"); str = str.Substring(index, length - index); str = str.Replace('/', '\\'); str += @"\App_Data\DB.mdb"; return str; //返回的就是该数据库的物理路径. }
代码解释:
1. string str = Assembly.GetExecutingAssembly().Location;
获取到的值是一个临时目录,如:“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\myproject\ba81bed7\a7082081\assembly\dl3\62f82680\8345eb5b_37a6c901\abc.dll
2.str = Path.GetDirectoryName(str) + @"\__AssemblyInfo__.ini";
关键是这一句,在dll文件同一目录下有一个"__AssemblyInfo__.ini"文件,用记事本打开可以发现里面包含有dll的实际物理地址,知道这个就好办了.
3.
str = File.ReadAllText(str, System.Text.Encoding.Unicode); int index = str.IndexOf("file:///") + 8; int length = str.IndexOf("/bin"); str = str.Substring(index, length - index); str = str.Replace('/', '\\'); str += @"\App_Data\cms.mdb";
这些代码就不详细解释了,就是把那个ini文件读出来,从里面找出网站bin文件夹的实际物理路径,然后拼接数据库文件名,就得到了数据库的物理路径了,不过这个方法有效的前提是数据库文件跟网站在同一目录下才行.
希望本文所述对大家asp.程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指