熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET編程取得網站絕對路徑5方法

2013-11-13 10:37:35  來源: .NET編程 

  下面就是幾種獲取絕對路徑的幾種方法
VirtualPathUtilityToAbsolute( " ~/ " ) 
HttpRuntimeAppDomainAppVirtualPath 
RequestApplicationPath 
PageResolveUrl( " ~ " )  
以上代碼生成的結果如下
當以網站的方式訪問時結果如下 

VirtualPathUtilityToAbsolute("~/") = / 
HttpRuntimeAppDomainAppVirtualPath = / 
RequestApplicationPath = / 
PageResolveUrl("~") = / 

當以虛擬目錄()訪問時結果如下

VirtualPathUtilityToAbsolute("~/") = /web
HttpRuntimeAppDomainAppVirtualPath = /web 
RequestApplicationPath = /web 
PageResolveUrl("~") = /web

采用第二種和第三種方法還需要做一下處理因為網站訪問時是以/結尾而以虛擬目錄訪問時則是沒有/的進行還得進行一次判斷稍微麻煩一點
但是這些方法在頁面中使用是沒有任何問題的但是如果在 Global 的 Application_Start 事件裡需要得到網站的絕對路徑則需要使用前面種方法如果使用第三種方法則會報告如下的錯誤
Request is not available in this context 
所以只能采取頭種方法例如
void Application_Start( object sender EventArgs e) 

    SystemIOStreamWriter s = new SystemIOStreamWriter(HttpRuntimeAppDomainAppPath + " logtxt " ); 
    sWriteLine(VirtualPathUtilityToAbsolute( " ~/ " )); 
    sWriteLine(HttpRuntimeAppDomainAppVirtualPath); 
    sClose(); 
}  


From:http://tw.wingwit.com/Article/program/net/201311/14149.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.