ASP.NET MVC 學習筆記之TempData、HttpContext和HttpContextBase雜談


TempData本質上是Session 但是有一點不同的是,TempData被賦值之后,一旦被Action訪問一次之后,馬上就會清空。 

  

System.Web.HttpContext System.Web.HttpContextBase 

HttpContext HttpContextBase HttpRequestHttpRequestBaseHttpPostFileHttpPostFileBase的區別。 

他們都是在System.Web命名空間下的兩個類 

  1. Controller中的HttpContext是一個HttpContextBase類型的屬性(真正的HttpContextWrapper類型,是對System.Web.HttpContext的一個封裝),System.Web.HttpContext是一個類型,這兩個類之間沒有繼承關系 

  2. HttpContextBase能進行單元測試,而System.Web.HttpContext不能。 

  3. 推薦在MVC中使用Controller中的HttpContextBase類型的HttpContext屬性,而不是使用原始ASP.Net核心類中的HttpContext 

  4. 怎樣獲取當前的HttpContext呢,在原生ASP.NET中,使用HttpContext.Current進行獲取,而在MVC中, 則不推薦用Current,而是隨用隨傳 

public void Add(HttpContextBase ctx, string name){ 

Ctx.Server.MapPath(name); 

} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM