五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > C#中Server.MapPath的用法和實(shí)例

C#中Server.MapPath的用法和實(shí)例

文章來源:365jz.com     點(diǎn)擊數(shù):2038    更新時(shí)間:2018-06-10 10:44   參與評論

簡介:

    1.Server.MapPath 所獲得的路徑都是服務(wù)器上的物理路徑,也就是常說的絕對路徑。

    2.全名: System.Web.HttpContext.Current.Server.MapPath

注意點(diǎn):

    1、Server.MapPath("/") :獲得應(yīng)用程序根目錄所在的位置,如 C:\Inetpub\wwwroot\。
    2、Server.MapPath("./") : 獲得所在頁面的當(dāng)前目錄,等價(jià)于 Server.MapPath("")。
    3、Server.MapPath("../") : 獲得所在頁面的上級目錄。
    4、 Server.MapPath("~/") : 獲得當(dāng)前應(yīng)用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。

 問題

如果你從Page類(創(chuàng)建.aspx的Page頁時(shí)代碼文件.aspx.cs)繼承的類中執(zhí)行這條語句,才可以簡單地使用 DataBase = Server.MapPath("data.mdb"); 否 則寫全命名空間:System.Web.HttpContext.Current.Server.MapPath();

注意:如果是在一個(gè)類庫下 的一個(gè)類中、要先添加引入(在bin目錄右鍵,添加引用)using System.Web;因?yàn)樾陆ㄒ粋€(gè)類庫時(shí)默認(rèn)是不引入using (通過Server.MapPath()可以獲取文件的絕對路徑。)

 如果你從Page類繼承[ji cheng]的類中執(zhí)行[zhi hang]這條語句[yu ju],才可以簡單地使用
DataBase = Server.MapPath("data.mdb");
否則寫全命名空間[kong jian][ming ming kong jian]:System.Web.HttpContext.Current.Server.MapPath();
注意:如果是在一個(gè)類庫[lei ku]下的一個(gè)類中、要先添加引入using System.Web;因?yàn)樾陆ㄒ粋€(gè)類庫[lei ku]時(shí)默認(rèn)[mo ren]是不引入using System.Web的!


主要總結(jié)Server.MapPath 這個(gè)方法的使用以及使用的場景,不是什么時(shí)候都適合使用;

1、實(shí)現(xiàn)功能:

  Server.MapPath能夠獲取指定URL相對服務(wù)器的物理路徑,在IIS服務(wù)端,能夠根據(jù)文件名來獲取該文件的物理路徑;

2、存在命令空間:

  System.Web.HttpContext.Current.Server.MapPath 以及System.web.MVC.Control.Server.Mapth;

3、使用情況:

  既然是System.Web.HttpContent 也及時(shí)表明該方法只能放在Http.web中使用,非該環(huán)境系統(tǒng)會扔出一個(gè)錯誤;非web環(huán)境是什么意思那,舉個(gè)例子,我們使用線程來處理某個(gè)業(yè)務(wù)邏輯的時(shí)候,這個(gè)時(shí)候你使用該方法,那必然報(bào)錯,以為你已經(jīng)脫離了web環(huán)境。所以視情況而定;獲取虛擬目錄的物理地址,該方法很有效果;

  隨便補(bǔ)充一句,多線程編程的時(shí)候,一定要分清楚那些事線程能夠獲取的資源,那些事依賴其他環(huán)境獲取的變量,比如IIS中多線程獲取緩存數(shù)據(jù),離開了HttpWeb這環(huán)境來獲取IIS的緩存,必然是失敗的,所以要分清楚多線程編程時(shí)候,使用的資源對象。線程安全對象集合:ConcurrentQueue、ConcurrentBag等

4、需要注意事項(xiàng):

    system.Web.HttpContext.Current.Server.MapPath("myPic") 也就是獲取當(dāng)前平級目錄地址;

    system.Web.HttpContext.Current.Server.MapPath("../myPic") 也就是獲取當(dāng)前上級目錄地址;

       使用的時(shí)候需要慎重;

5、同類使用注意:

HttpContext.Current.Cache.Add(CacheKey, DataDirectory, null, DateTime.MaxValue, TimeSpan.FromMinutes(15), CacheItemPriority.NotRemovable, new CacheItemRemovedCallback(CacheItemRemovedCallback));public static void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason)
        {            /****S測試壓力代碼 數(shù)據(jù)請求*****/
            Dictionary<string, int> DataDic = (Dictionary<string, int>)value;            string ResultText = "";            foreach (var currkey in DataDic)
            {
                ResultText += currkey.Key + "=" + currkey.Value+"$";
            }            
            LogFun.Instance().WriteLog(key, ResultText.Trim('$'),false);            /****E測試壓力代碼 數(shù)據(jù)請求*****/
        }


如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評論 (2038人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號