主頁(yè) > 知識(shí)庫(kù) > 解讀ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性

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

熱門標(biāo)簽:外呼電話機(jī)器人成本 西寧呼叫中心外呼系統(tǒng)線路商 百應(yīng)電話機(jī)器人外呼系統(tǒng) 臨沂智能電話機(jī)器人加盟 蘇州如何辦理400電話 網(wǎng)絡(luò)電話外呼系統(tǒng)上海 400電話辦理怎么樣 聯(lián)通官網(wǎng)400電話辦理 地圖標(biāo)注軟件免費(fèi)下載

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

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

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

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

關(guān)于addTagHelper功能,我們已經(jīng)在TagHelper中講解過(guò)了

注意,在本例中,我們只引用了BookStore命名空間,并沒(méi)有引用BookStore.Controllers命名空間,所以我們?cè)谌魏我晥D中,都無(wú)法訪問(wèn)HomeController類(也不能以Controllers.HomeController的形式進(jìn)行訪問(wèn)),希望微軟以后能加以改進(jìn)。

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

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

var connection1 = Request.HttpContext.GetFeatureIHttpConnectionFeature>();
var connection2 = Context.GetFeatureIHttpConnectionFeature>();

var isLocal = connection1.IsLocal;         //是否本地IP 
var localIpAddress = connection1.LocalIpAddress;  //本地IP地址
var localPort = connection1.LocalPort;       //本地IP端口
var remoteIpAddress = connection1.RemoteIpAddress; //遠(yuǎn)程IP地址
var remotePort = connection1.RemotePort;      //本地IP端口

類似地,你也可以通過(guò)IHttpRequestFeature、IHttpResponseFeature、IHttpClientCertificateFeatureIWebSocketAcceptContext等接口,獲取相關(guān)的實(shí)例,從而使用該實(shí)例上的特性,上述接口都在命名空間Microsoft.AspNet.HttpFeature的下面。

文件上傳

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

form method="post" enctype="multipart/form-data">
  input type="file" name="files" id="files" multiple />
input type="submit" value="submit" />
/form>

我們?cè)谇岸隧?yè)面定義上述上傳表單,在接收可以使用MVC6中的新文件類型IFormFile,實(shí)例如下:

[HttpPost]
public async TaskIActionResult> Index(IListIFormFile> files)
{
  foreach (var file in files)
  {
    var fileName = ContentDispositionHeaderValue
      .Parse(file.ContentDisposition)
      .FileName
      .Trim('"');// beta3版本的bug,F(xiàn)ileName返回的字符串包含雙引號(hào),如"fileName.ext"
    if (fileName.EndsWith(".txt"))// 只保存txt文件
    {
      var filePath = _hostingEnvironment.ApplicationBasePath + "\\wwwroot\\"+ fileName;
      await file.SaveAsAsync(filePath);
    }
  }
  return RedirectToAction("Index");// PRG
}
您可能感興趣的文章:
  • .NET6中哈希算法的簡(jiǎn)化用法的實(shí)現(xiàn)
  • ASP.NET Core項(xiàng)目配置教程(6)
  • ASP.NET MVC5+EF6+EasyUI 后臺(tái)管理系統(tǒng)(81)-數(shù)據(jù)篩選(萬(wàn)能查詢)實(shí)例
  • ASP.NET MVC異步獲取和刷新ExtJS6 TreeStore
  • 解讀ASP.NET 5 & MVC6系列教程(16):自定義View視圖文件查找邏輯
  • .NET 6 中的隱式命名空間引用

標(biāo)簽:海西 清遠(yuǎn) 中衛(wèi) 臨夏 聊城 甘肅 慶陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解讀ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性》,本文關(guān)鍵詞  解讀,ASP.NET,amp,MVC6,系列,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解讀ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于解讀ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章