偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

移動開發(fā) Android
默認新建立的MVC程序中,在Views目錄下,新增加了一個_GlobalImport.cshtml文件和_ViewStart.cshtml平級,該文件的功能類似于之前Views目錄下的web.config文件,之前我們在該文件中經(jīng)常設(shè)置全局導(dǎo)入的命名空間,以避免在每個view文件中重復(fù)使用@using xx.xx語句。

 (GlobalImport全局導(dǎo)入功能)

默認新建立的MVC程序中,在Views目錄下,新增加了一個_GlobalImport.cshtml文件和_ViewStart.cshtml平級,該文件的功能類似于之前Views目錄下的web.config文件,之前我們在該文件中經(jīng)常設(shè)置全局導(dǎo)入的命名空間,以避免在每個view文件中重復(fù)使用@using xx.xx語句。

默認的示例如下:

  1. @using BookStore 
  2. @using Microsoft.Framework.OptionsModel 
  3. @addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" 

上述代碼表示,引用BookStore和Microsoft.Framework.OptionsModel命名空間,以及Microsoft.AspNet.Mvc.TagHelpers程序集下的所有命名空間。

關(guān)于addTagHelper功能,我們已經(jīng)在TagHelper中講解過了注意,在本例中,我們只引用了BookStore命名空間,并沒有引用BookStore.Controllers命名空間,所以我們在任何視圖中,都無法訪問HomeController類(也不能以Controllers.HomeController的形式進行訪問),希望微軟以后能加以改進。

獲取IP相關(guān)信息

要獲取用戶訪問者的IP地址相關(guān)信息,可以利用依賴注入,獲取IHttpConnectionFeature的實例,從該實例上可以獲取IP地址的相關(guān)信息,實例如下:

var connection1 = Request.HttpContext.GetFeature(); var connection2 = Context.GetFeature();  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等接口,獲取相關(guān)的實例,從而使用該實例上的特性,上述接口都在命名空間Microsoft.AspNet.HttpFeature的下面。

文件上傳

MVC6在文件上傳方面,給了新的改進處理,舉例如下:

  1. <form method="post" enctype="multipart/form-data"> 
  2.     <input type="file" name="files" id="files" multiple /> 
  3. <input type="submit" value="submit" /> 
  4. </form> 

我們在前端頁面定義上述上傳表單,在接收可以使用MVC6中的新文件類型IFormFile,實例如下:

[HttpPost]
public async Task Index(IList files) {     foreach (var file in files)     {         var fileName = ContentDispositionHeaderValue             .Parse(file.ContentDisposition)             .FileName             .Trim('"');// beta3版本的bug,F(xiàn)ileName返回的字符串包含雙引號,如"fileName.ext"         if (fileName.EndsWith(".txt"))// 只保存txt文件         {             var filePath = _hostingEnvironment.ApplicationBasePath + "\\wwwroot\\"+ fileName;             await file.SaveAsAsync(filePath);         }     }     return RedirectToAction("Index");// PRG

 

責(zé)任編輯:chenqingxiang 來源: 湯姆大叔的博客
相關(guān)推薦

2015-06-29 10:00:02

ASP.NETMVC6

2015-06-18 16:29:14

ASP.NET

2015-06-17 14:42:04

ASP.NET

2015-06-18 14:13:36

ASP.NET

2015-06-18 16:39:17

ASP.NET

2015-06-18 17:04:22

ASP.NET

2015-06-16 15:01:59

ASP.NET 5

2015-06-17 16:45:28

ASP.NET

2015-06-17 16:01:30

ASP.NET

2015-06-17 16:04:36

ASP.NET

2015-06-17 17:01:48

ASP.NET

2015-06-17 10:16:30

ASP.NET

2015-06-17 14:09:36

ASP.NET

2015-06-17 14:16:50

ASP.NET

2014-08-26 09:22:40

ASP.NET MVCRouting

2015-06-17 14:18:50

ASP.NET

2015-06-18 17:34:25

ASP.NET

2015-06-18 14:25:56

ASP.NET

2010-10-12 09:52:02

ASP.NET MVC

2011-01-15 23:07:59

點贊
收藏

51CTO技術(shù)棧公眾號