国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

解讀ASP.NET 5 & MVC6系列(17):MVC中的其他新特性

2019-11-17 02:08:42
字體:
來源:轉載
供稿:網友

解讀asp.net 5 & MVC6系列(17):MVC中的其他新特性

2015-06-03 09:22 by 湯姆大叔, ... 閱讀, ... 評論, 收藏, 編輯

(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"

上述代碼表示,引用BookStoreMicrosoft.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}

同步與推薦

本文已同步至目錄索引:解讀ASP.NET 5 & MVC6系列


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西乌珠穆沁旗| 贵阳市| 镇平县| 桑植县| 乐昌市| 申扎县| 伊春市| 南部县| 秀山| 上杭县| 汤阴县| 布拖县| 潼关县| 麦盖提县| 琼中| 射洪县| 邓州市| 江达县| 恩平市| 乌海市| 奎屯市| 大足县| 赤城县| 长沙市| 新晃| 巍山| 康保县| 彝良县| 尼玛县| 嵊州市| 屯留县| 宜兰县| 遵义县| 盘锦市| 临泽县| 宜兴市| 孟州市| 义乌市| 舞钢市| 宁波市| 平顺县|