在做.NET編程時,因為目錄結構問題往往很難使用相對路徑,而用應用程式的URL絕對路徑來代替。但這樣會涉及到應用程式名稱,連接埠問題,我大概寫了一個擷取URL路徑的方法
URL絕對路徑
#region 產生url應用程式絕對路徑
string absPath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
absPath = absPath.Substring(System.Web.HttpContext.Current.Request.ApplicationPath.Length);
string asbUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri;
this._apppath = asbUrl.Substring(0, asbUrl.IndexOf(absPath));
this._apppath.TrimEnd('/');
#endregion
硬碟實體路徑和皮膚路徑
#region 產生應用程式硬碟實體路徑
this._physicalpath = System.Web.HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"].ToString().TrimEnd('\\');
#endregion
#region 產生url應用程式皮膚絕對路徑
System.Web.Configuration.PagesSection _ps = (System.Web.Configuration.PagesSection)System.Configuration.ConfigurationManager.GetSection("system.web/pages");
this._themename = _ps.Theme;
this._fullthemepath = string.Format("{0}/App_Themes/{1}", this._apppath, _ps.Theme).TrimEnd('/');
#endregion