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.程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程