写点什么

ASP.NET Core 2 加入了 Razor 页面特性

  • 2017-08-30
  • 本文字数:947 字

    阅读完需:约 3 分钟

最近发布的 ASP.NET Core 2.0,连同新发布的.NET Core 2 Entity Framework Core 2.0 y,一并构成了.NET Core 2.0 生态中的三元组。此发布给出了多个新特性和改进,其中包括通用性能的改进、Razor 页面、新的开发模板以及更好的 Azure Diagnostics 支持。

让我们首先看一下 Razor 页面。Razor 页面类似于标准的 MVC 视图,只是通过使用 @Page 指令标明自身为 Razor 页面。Microsoft 现在考虑将 Razor 页面作为 ASP.NET Core 中构建 Web 应用 UI 的推荐方法,当然开发人员也可自由地选择最适合自己的方法。使用 Razor 页面编写的 Web 页面,无需经过控制器即可直接处理请求,正如在标准的 ASP.NET MVC 应用中那样。

转向 ASP.NET Core 2 平台的另一个好处是简化了对软件包的引用。在项目的.csproj文件中,仅需引用Microsoft.AspNetCore.All。这是一个 Meta-package ,它在简化了引用问题的同时,确保应用所需的所有库是可用的。而在发布 Web 应用时,只有应用所需的库才会与应用一并发布,避免了文件膨胀。另一个优点是 Meta-package 可使应用的启动速度更快,这是因为它使用了.NET Core Runtime Store,其中预编译了所有的软件包和文件。虽然这一 Meta-package 提供了一种便利的软件包引用方式,但是开发人员依然可以继续在Microsoft.AspNetCore.*中直接引用特定的软件包。

为了支持新的特性,ASP.NET Core 2 扩充一些模板,它们来自于 Razore 页面(模板命名为“Web Application”)、Web API、基于 MVC 的 Web 应用、Angular、React.js 和 React.js& Redux 等。所有这些模板也可以通过命令行使用,不必依赖于 Visual Studio 2017。

在明确声明的情况下,Razor 语言引擎提供对 C# 7.1 特性的支持。为此,需在项目文件中需添加该如下属性:<LangVersion>latest</LangVersion>。更改将在重新加载解决方案后生效。

规划将应用部署到 Azure 的开发人员将会看到,ASP.NET Core 2 构建的应用不需作任何更改,就可使用 Azure App Service。应用的部署可以在 VS2017 中执行,也可直接在 Azure 门户上执行。

使用已有 ASP.NET Core 1.X 软件包的开发人员,要详细了解如何升级应用到 ASP.NET Core 2.0,可以参考 Microsoft 的升级指南。使用ASP.NET 2.0 需下载.NET Core 2 SDK,它是独立于VS2017 提供的。

查看英文原文: ASP.NET Core 2 Gains Razor Pages

2017-08-30 19:002587
用户头像

发布了 391 篇内容, 共 156.0 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

IntelliJ IDEA远程调试Elasticsearch6.1.2

程序员欣宸

elasticsearch 9月月更

创立一年就估值5亿美金,这个项目是怎么做到的?

One Block Community

区块链 创业 融资 defi

融云 Flutter SDK,跨平台开发的真香之选

融云 RongCloud

flutter 跨平台开发 SDK 教程

【JavaWeb】Servlet系列——Cookie机制、乱码问题总结

胖虎不秃头

Web java; 9月月更

HTML笔记3

喜羊羊

9月月更

C++ 学习 ------cmath 头文件的源码学习 03

桑榆

c++ 源码阅读 9月月更

【C语言】字符函数&字符串函数&内存函数(上)[进阶篇_复习专用]

Dream-Y.ocean

c c++ 9月月更

【C语言深度剖析】深入理解C语言中函数的递归算法

Albert Edison

递归 C语言 函数 9月月更

【JavaWeb】JSP系列——关于JSP、JSP的基础语法、利用Servlet+JSP改造项目、JSP指令、JSP九大内置对象

胖虎不秃头

Web java; 9月月更

LeetCode-1. 两数之和(java)

bug菌

9月日更 Leet Code 9月月更

图解Kafka的服务端的网络通信模型

石臻臻的杂货铺

kafka Kafka实战 9月月更

【JavaWeb】Servlet系列——session会话机制

胖虎不秃头

Web java; 9月月更

哪些应用适合Docker化改造

阿泽🧸

Docker 9月月更

HTML笔记2

喜羊羊

9月月更

高性能使用索引

急需上岸的小谢

9月月更

InnoSetup制作补丁包替换文件操作

中国好公民st

c++ qt 9月月更

【云原生 | 从零开始学Docker】二、Docker的常用指令学习以及使用

泡泡

Docker 云计算 云原生 9月月更

值得收藏|三种经典的指标监控模型

穿过生命散发芬芳

9月月更 监控指标

跟我以前学mybatis

楠羽

mybatis 笔记 9月月更

【编程实践】一步步带你从二叉树到实现哈夫曼编码

迷彩

算法 二叉树 9月月更 哈夫曼编码 哈夫曼树

计算机网络——OSI参考模型

StackOverflow

编程 计算机网络 9月月更

FreeRTOS记录(五、FreeRTOS任务通知)

矜辰所致

FreeRTOS 9月月更 任务通知

Web3.0 会长什么样?

掘金安东尼

前端 Web3.0 9月月更

力扣429 - N叉树的层序遍历【BFS+DFS】

Fire_Shield

LeetCode DFS BFS 9月月更

LeetCode-861. 翻转矩阵后的得分(Java)

bug菌

9月日更 9月月更

力扣260 - 只出现一次的数字||| 【哈希映射、异或位运算+分治思想】

Fire_Shield

位运算 哈希表 9月月更

HTML标准解读第一章:HTML、XML、XHTML、SGML究竟有什么区别?

水鱼兄

html 前端 HTML标准

如何用Python代码绘制赏月美景?

芯动大师

中秋节

【好一朵美丽的玫瑰花】(C++代码实现+EasyX图形化界面)

Fire_Shield

计算机视觉 9月月更 EasyX

ASP.NET Core 2加入了Razor页面特性_.NET_Jeff Martin_InfoQ精选文章