写点什么

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:002388
用户头像

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

关注

评论

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

云原生时代的DevOps平台设计之道

北京好雨科技有限公司

中原银行:基于StarRocks构建OLAP全场景架构解决方案,迈入极速统一时代

StarRocks

数据库

权威认可!OceanBase 通过分布式数据库金融标准验证

OceanBase 数据库

【10.7-10.14】写作社区优秀技术博文一览

InfoQ写作社区官方

优质创作周报

中软鸿联:数字为运动蓄能,智能为健康充值

中软国际AIoT开发者社区

智能穿戴 运动健康

MySQL高级--性能优化之慢日志查询

Java学术趴

10月月更

故障复盘究竟怎么做?美图SRE结合10年经验做了三大总结(附模板)

TakinTalks稳定性社区

运维 SRE SRE实践

ES6中Let命令基本用法

默默的成长

前端 ES6 10月月更

【数据结构之红黑树】深入原理与实现

C++后台开发

数据结构 后端开发 红黑树 linux开发 C++开发

SAP | 认识abap工作台(上)

暮春零贰

SAP abap 10月月更

BAT加速冲刺,“智慧交通”赛道谁能笑到最后

硬科技星球

【DBA100人】台枫:DBA不仅要懂运维还得懂代码

OceanBase 数据库

企业号十月PK榜,年度榜单倒计时开始!

InfoQ写作社区官方

企业号十月PK榜

KMP算法的实现详解

lovevivi

c 数据结构 10月月更

阿里云事件生态再升级:使用 EventBridge 驱动全量云产品

阿里巴巴云原生

阿里云 云原生 EventBridge

Vue中的nextTick有什么作用?

CoderBin

面试 前端 Vue 3 nextTick 10月月更

Flowable 按角色分配任务

江南一点雨

spring springboot workflow flowable

深入浅出理解Java并发AQS的独占锁模式

JAVA旭阳

Java 并发 10月月更

Milvus 2.1 版本更新 - 简单可信赖、性能持续提升

Zilliz

人工智能 开源项目 Milvus 版本更新 向量数据库

【kafka】kafka的服务复用与隔离设计方案

石臻臻的杂货铺

kafka 后端 10月月更

数有引力 智造未来 | 华为云云商店星品推介会·厦门站

极客天地

Java基础(五)| 方法的定义、调用及重载

timerring

Java 10月月更 方法重载

Vue 2x 中使用 render 和 jsx 的最佳实践 (1)

默默的成长

Vue 前端 10月月更

开源云原生平台对比 KubeSphere vs Rainbond

北京好雨科技有限公司

kubernetes为什么会火?为什么值得我们学习?

王中阳Go

Kubernetes k8s 容器编排 10月月更 动态扩缩

华为云从入门到实战 | 云服务概述与华为云搭建Web应用

TiAmo

华为 华为云 云开发 10月月更

你对“低代码”存在哪些误解?

优秀

低代码

什么是云渲染?《阿凡达》《阿丽塔》告诉你

Finovy Cloud

人工智能 云渲染

快速一览:织信低代码联合WPS推出多场景办公轻应用

优秀

低代码 wps

Vue 中const 命令

默默的成长

前端 Vue 3 10月月更

图解ReentrantLock公平锁和非公平锁实现

JAVA旭阳

Java 并发 10月月更

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