System.Web.HttpContext.Current.Server.MapPath("/") 這個常用來表示網站的根目錄,偶爾出現“未將對象設置到引用實例”的異常。
用一個折中的方法:
/// <summary>
/// 獲取文件路徑
/// </summary>
/// <param name="strPath"></param>
/// <returns></returns>
private string MapPath(string strPath)
{
if (HttpContext.Current != null)
{
return HttpContext.Current.Server.MapPath(strPath);
}
else //非web程序引用
{
strPath = strPath.Replace("/", "\\");
if (strPath.StartsWith("\\"))
{
strPath = strPath.TrimStart('\\');
}
return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
}