Interpreting ASP.NET 5 & MVC6 Series (17): Other new features in MVC

Interpreting ASP.NET 5 & MVC6 Series (17): Other new features in MVC

(GlobalImport global import function)

In the default newly created MVC program, a new _GlobalImport.cshtml file and a _ViewStart.cshtml file are added to the Views directory. The function of this file is similar to the web.config file in the Views directory. Previously, we often set the global import namespace in this file to avoid repeating the @using xx.xx statement in each view file.

The default example is as follows:

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

The above code indicates that the BookStore and Microsoft.Framework.OptionsModel namespaces, as well as all namespaces under the Microsoft.AspNet.Mvc.TagHelpers assembly are referenced.

We have already explained the addTagHelper function in TagHelper. Note that in this example, we only referenced the BookStore namespace and did not reference the BookStore.Controllers namespace, so we cannot access the HomeController class in any view (nor can we access it as Controllers.HomeController). I hope Microsoft can improve this in the future.

Get IP related information

To obtain the IP address information of the user visitor, you can use dependency injection to obtain an instance of IHttpConnectionFeature, from which you can obtain the relevant information of the IP address. The example is as follows:

var connection1 = Request.HttpContext.GetFeature (); var connection2 = Context.GetFeature (); var isLocal = connection1.IsLocal; //Is it a local IP? var localIpAddress = connection1.LocalIpAddress; //Local IP address var localPort = connection1.LocalPort; //Local IP port var remoteIpAddress = connection1.RemoteIpAddress; //Remote IP address var remotePort = connection1.RemotePort; //Local IP port

Similarly, you can also obtain related instances through interfaces such as IHttpRequestFeature, IHttpResponseFeature, IHttpClientCertificateFeature, and IWebSocketAcceptContext, and use the features on the instance. The above interfaces are all under the namespace Microsoft.AspNet.HttpFeature.

File upload

MVC6 provides new improvements in file upload, as shown below:

  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 >  

We define the above upload form on the front-end page, and can use the new file type IFormFile in MVC6 when receiving it. The example is as follows:

[HttpPost]
public async Task Index(IList files) { foreach (var file in files) { var fileName = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"');// Beta3 version bug, the string returned by FileName contains double quotes, such as "fileName.ext" if (fileName.EndsWith(".txt"))// Only save txt files { var filePath = _hostingEnvironment.ApplicationBasePath + "\\wwwroot\\"+ fileName; await file.SaveAsAsync(filePath); } } return RedirectToAction("Index");// PRG

<<:  Interpreting ASP.NET 5 & MVC6 Series (16): Customizing View View File Search Logic

>>:  What "truths" can your brothers and sisters learn from the IT tycoons' choices of majors in the college entrance examination?

Recommend

English Speaking: Breaking through American Oral Thinking

English Speaking: Breaking through American Oral ...

Useful Information | General Process for Online Event Operation and Promotion

There is no clear definition of operation and spe...

Users no longer like to buy your product? Try these 3 strategies

A product may be very popular at the beginning, b...

There is so much effort and thought behind the phrase “Hey Siri”

Apple today published a new article on the compan...

Zhihu advertising, Zhi+ account opening guide!

Each platform has its own advertising management ...

How to place massive Qianchuan search ads!

Qianchuan has fully opened up the delivery of sea...

Online operation strategy

The following is an outline of the content of thi...