濮阳杆衣贸易有限公司

主頁 > 知識庫 > asp.net編程獲取項目根目錄實現(xiàn)方法集合

asp.net編程獲取項目根目錄實現(xiàn)方法集合

熱門標簽:西寧電銷外呼系統(tǒng)公司 云南外呼系統(tǒng)代理 上海市三維地圖標注 寧德防封版電銷卡 南昌自動外呼系統(tǒng)線路 聊城智能電銷機器人電話 海東防封電銷卡 辦公用地圖標注網(wǎng)點怎么操作 安陸市地圖標注app

本文實例總結(jié)了asp.net編程獲取項目根目錄實現(xiàn)方法。分享給大家供大家參考,具體如下:

編寫程序的時候,經(jīng)常需要用的項目根目錄。自己總結(jié)如下

1、取得控制臺應(yīng)用程序的根目錄方法

方法1、Environment.CurrentDirectory 取得或設(shè)置當前工作目錄的完整限定路徑
方法2、AppDomain.CurrentDomain.BaseDirectory 獲取基目錄,它由程序集沖突解決程序用來探測程序集

2、取得Web應(yīng)用程序的根目錄方法

方法1、HttpRuntime.AppDomainAppPath.ToString();//獲取承載在當前應(yīng)用程序域中的應(yīng)用程序的應(yīng)用程序目錄的物理驅(qū)動器路徑。用于App_Data中獲取
方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回與Web服務(wù)器上的指定的虛擬路徑相對的物理文件路徑
方法3、Request.ApplicationPath;//獲取服務(wù)器上ASP.NET應(yīng)用程序的虛擬應(yīng)用程序根目錄

3、取得WinForm應(yīng)用程序的根目錄方法

① Environment.CurrentDirectory.ToString();//獲取或設(shè)置當前工作目錄的完全限定路徑
② Application.StartupPath.ToString();//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,不包括可執(zhí)行文件的名稱
③ Directory.GetCurrentDirectory();//獲取應(yīng)用程序的當前工作目錄
④ AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程序集沖突解決程序用來探測程序集
⑤ AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設(shè)置包含該應(yīng)用程序的目錄的名稱

其中:以下兩個方法可以獲取執(zhí)行文件名稱

1、Process.GetCurrentProcess().MainModule.FileName;//可獲得當前執(zhí)行的exe的文件名。
2、Application.ExecutablePath;//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,包括可執(zhí)行文件的名稱

相信很多用asp.net+Access做網(wǎng)站的朋友經(jīng)常都會有這樣一個需求:就是想在數(shù)據(jù)庫訪問層類庫中獲取Access數(shù)據(jù)庫的物理路徑,然后再拼接數(shù)據(jù)庫連接字符串進行數(shù)據(jù)庫相關(guān)的操作.在網(wǎng)站UI層我們可以有很多種方法獲取一個網(wǎng)站的物理路徑,如:

1. Request.PhysicalApplicationPath

2. Request.MapPath("~/"),但是在數(shù)據(jù)庫訪問層用這些方法就不行

using System.Reflection;
using System.IO; //使用前別忘了引用這兩個命名空間
/// summary>
/// 獲取Access數(shù)據(jù)庫的物理路徑
/// /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;  //最后返回的就是該數(shù)據(jù)庫的物理路徑.
}

代碼解釋:

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";

關(guān)鍵是這一句,在dll文件同一目錄下有一個"__AssemblyInfo__.ini"文件,用記事本打開可以發(fā)現(xiàn)里面包含有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文件讀出來,從里面找出網(wǎng)站bin文件夾的實際物理路徑,然后拼接數(shù)據(jù)庫文件名,就得到了數(shù)據(jù)庫的物理路徑了,不過這個方法有效的前提是數(shù)據(jù)庫文件跟網(wǎng)站在同一目錄下才行.

希望本文所述對大家asp.net程序設(shè)計有所幫助。

您可能感興趣的文章:
  • 創(chuàng)建一個完整的ASP.NET Web API項目
  • asp.net 學習之路 項目整體框架簡單的搭建
  • asp.net項目開發(fā)中用到的小技巧
  • 如何改變asp.net項目名稱
  • ASP.NET編程獲取網(wǎng)站根目錄方法小結(jié)
  • asp.net檢查服務(wù)器上目錄或文件是否存在的方法
  • asp.net獲取網(wǎng)站目錄物理路徑示例
  • Asp.net獲取當前目錄的方法小結(jié)
  • asp.net 獲取目錄下的文件數(shù)和文件夾數(shù)
  • asp.net Cookie跨域、虛擬目錄等設(shè)置方法

標簽:衢州 南寧 贛州 崇左 洛陽 青海 汕尾

巨人網(wǎng)絡(luò)通訊聲明:本文標題《asp.net編程獲取項目根目錄實現(xiàn)方法集合》,本文關(guān)鍵詞  asp.net,編程,獲取,項目,根,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net編程獲取項目根目錄實現(xiàn)方法集合》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net編程獲取項目根目錄實現(xiàn)方法集合的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    宜兴市| 福海县| 汝南县| 六枝特区| 铜梁县| 通江县| 靖宇县| 镇远县| 卢龙县| 巴青县| 常熟市| 大渡口区| 泸西县| 道孚县| 梁河县| 都兰县| 淄博市| 兴安县| 庄浪县| 朝阳区| 邵武市| 高清| 稻城县| 高安市| 开远市| 司法| 余干县| 灵台县| 开平市| 沅江市| 正阳县| 辽源市| 邮箱| 寿宁县| 神池县| 宁远县| 桐城市| 中山市| 建昌县| 牙克石市| 深圳市|