温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASP.NET5 MVC6中的新特性是什么

发布时间:2021-12-06 15:01:03 来源:亿速云 阅读:128 作者:iii 栏目:移动开发

这篇文章主要介绍“ASP.NET5 MVC6中的新特性是什么”,在日常操作中,相信很多人在ASP.NET5 MVC6中的新特性是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP.NET5 MVC6中的新特性是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 (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(); 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等接口,获取相关的实例,从而使用该实例上的特性,上述接口都在命名空间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 TaskIndex(IListfiles) {     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.NET5 MVC6中的新特性是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI