91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在asp.net中獲取項目的根目錄

發布時間:2021-01-30 10:33:02 來源:億速云 閱讀:459 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在asp.net中獲取項目的根目錄,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

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.net+Access做網站的朋友經常都會有這樣一個需求:就是想在數據庫訪問層類庫中獲取Access數據庫的物理路徑,然后再拼接數據庫連接字符串進行數據庫相關的操作.在網站UI層我們可以有很多種方法獲取一個網站的物理路徑,如:

1. Request.PhysicalApplicationPath

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

using System.Reflection;
using System.IO; //使用前別忘了引用這兩個命名空間
/// <summary>
/// 獲取Access數據庫的物理路徑
/// </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";

關于怎么在asp.net中獲取項目的根目錄就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛浦县| 涡阳县| 汝阳县| 繁昌县| 扶绥县| 嘉善县| 台安县| 宁蒗| 庆云县| 宿迁市| 库尔勒市| 滨州市| 克拉玛依市| 界首市| 津市市| 康乐县| 盖州市| 兴山县| 陕西省| 乌鲁木齐县| 黄浦区| 全椒县| 建昌县| 靖江市| 望都县| 定西市| 大渡口区| 攀枝花市| 富平县| 即墨市| 达拉特旗| 堆龙德庆县| 元阳县| 高邮市| 盐津县| 灵川县| 霍州市| 错那县| 隆化县| 山东省| 邵阳市|