簡體   English   中英

Visual Studio 2015:MVC 6 Scaffolding切換到使用ActionResult的IActionResult內部

[英]Visual Studio 2015: MVC 6 Scaffolding switched to using IActionResult intead of ActionResult

我剛剛安裝了VS 2015,我注意到MVC6的自動腳手架有一些變化。 我很好奇為什么微軟會做出這些改變,因為我認為如果他們決定做一些改變,可能會有一些我可能不知道的好處。

在VS 2013中,MVC 5 Auto-Scaffolding始終使用:ActionResult

在VS 2015中,MVC 6 Auto-Scaffolding切換到使用:IActionResult

在VS 2015中,我注意到Microsoft團隊不再這樣做了:

 public class Test{
     private int i;
     public Test (int i){
         this.i = i;
     }
 }

在所有生成的類中,我看到他們做了:

 public class Test{
     private int _i;
     public Test (int i){
         _i = i;
     }
 }

如果它只是編碼風格的問題,那很好,我會立即失去我的興趣知道為什么他們改變了這一點,但如果有任何合理的解釋背后,我迫不及待想知道那是什么。

就ActionResult問題而言,在以前的ASP.NET中,MVC控制器使用System.Web.MVC.Controller Parent類和Web API控制器使用System.Web.Http.ApiController Parent類。

但是在ASP.NET 5 MVC 6中,它們已經在一個Web應用程序中合並。 所以現在只有一個控制器類Microsoft.AspNet.Mvc.Controller類作為它們的基礎。 現在要區分它們,當用作MVC控制器時,IActionResult可能是一個視圖。 當用作Web API控制器時,IActionResult可能是數據(JSON / XML)。 同一個控制器可能具有返回視圖和數據的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM