您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關MVC中的新特性有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
(GlobalImport全局導入功能)
默認新建立的MVC程序中,在Views目錄下,新增加了一個_GlobalImport.cshtml
文件和_ViewStart.cshtml
平級,該文件的功能類似于之前Views目錄下的web.config文件,之前我們在該文件中經常設置全局導入的命名空間,以避免在每個view文件中重復使用@using xx.xx
語句。
默認的示例如下:
@using BookStore @using Microsoft.Framework.OptionsModel @addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
上述代碼表示,引用BookStore
和Microsoft.Framework.OptionsModel
命名空間,以及Microsoft.AspNet.Mvc.TagHelpers
程序集下的所有命名空間。
關于addTagHelper功能,我們已經在TagHelper中講解過了
注意,在本例中,我們只引用了BookStore
命名空間,并沒有引用BookStore.Controllers
命名空間,所以我們在任何視圖中,都無法訪問HomeController
類(也不能以Controllers.HomeController
的形式進行訪問),希望微軟以后能加以改進。
獲取IP相關信息
要獲取用戶訪問者的IP地址相關信息,可以利用依賴注入,獲取IHttpConnectionFeature
的實例,從該實例上可以獲取IP地址的相關信息,實例如下:
var connection1 = Request.HttpContext.GetFeature<IHttpConnectionFeature>(); var connection2 = Context.GetFeature<IHttpConnectionFeature>(); var isLocal = connection1.IsLocal; //是否本地IP var localIpAddress = connection1.LocalIpAddress; //本地IP地址 var localPort = connection1.LocalPort; //本地IP端口 var remoteIpAddress = connection1.RemoteIpAddress; //遠程IP地址 var remotePort = connection1.RemotePort; //本地IP端口
類似地,你也可以通過IHttpRequestFeature
、IHttpResponseFeature
、IHttpClientCertificateFeature
、 IWebSocketAcceptContext
等接口,獲取相關的實例,從而使用該實例上的特性,上述接口都在命名空間Microsoft.AspNet.HttpFeature
的下面。
文件上傳
MVC6在文件上傳方面,給了新的改進處理,舉例如下:
<form method="post" enctype="multipart/form-data"> <input type="file" name="files" id="files" multiple /> <input type="submit" value="submit" /> </form>
我們在前端頁面定義上述上傳表單,在接收可以使用MVC6中的新文件類型IFormFile
,實例如下:
[HttpPost] public async Task<IActionResult> Index(IList<IFormFile> files) { foreach (var file in files) { var fileName = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"');// beta3版本的bug,FileName返回的字符串包含雙引號,如"fileName.ext" if (fileName.EndsWith(".txt"))// 只保存txt文件 { var filePath = _hostingEnvironment.ApplicationBasePath + "\\wwwroot\\"+ fileName; await file.SaveAsAsync(filePath); } } return RedirectToAction("Index");// PRG }
上述就是小編為大家分享的MVC中的新特性有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。