Skip to content

Latest commit

 

History

History
181 lines (100 loc) · 13.9 KB

File metadata and controls

181 lines (100 loc) · 13.9 KB

一、开始使用 ASP.NET Core

活动服务器页面于 20 世纪 90 年代中期首次在微软的 IIS web 服务器上提供。 快进 20 年左右,ASP。 asp.net Core(即 asp.net; 现在,Visual Studio是开放源代码的,可以在 Windows、Linux 和 OS x 上运行。此外,除了 Windows 上的全功能 IDE 外,Visual Studio现在是一个跨平台的轻量级代码编辑器。

作为一个**. net的开发人员,您可以利用所有最近的改进,同时构建您已有的经验。 . net Framework 已经超越了完整的框架,现在可以作为一个名为. net Core**的跨平台运行时使用。

在本章中,我们将讨论以下原则和概念,让你开始使用 ASP.NET Core:

  • net 架构
  • ASP.NET 统一编程模型
  • 新的 Visual Studio ide
  • 跨平台运行时

NET Core -统一 MVC、Web API 和 Web 页面

当开发人员听到术语ASP。 asp.net,一些人将它与 asp.net 联系起来。 asp.netWeb Forms,而其他人认为asp.netWeb Forms**.NET MVC甚至Web API**。 许多开发人员已经开始了他们的 Web 表单之旅,并且在最近几年已经迁移到模型-视图-控制器(MVC)。

ASP 的采用。 由于其干净的代码和可测试性,NET MVC 多年来一直在崛起。 而你仍然可以在。net 4 上开发 Web Forms。 x,你将在。net Core 1.0 上使用 MVC。 幸运的是,ASP.NET Core 运行在。NET 4.5.1+和。NET Core 上,所以你可以选择你想要的运行时。

展望未来,微软在 ASP 中统一了 MVC、Web API 和 Web 页面。 净的核心。 这对作为开发者的你来说意味着什么? 这意味着在使用 MVC、Web API 和 Web 页面构建应用时,您将享受到更大的一致性。 在过去,MVC 和 Web API 是分开实现的,这导致了重复和不一致,但使用 ASP.NET Core,它们被合并成一个单一的编程模型。

高层概述

如果你对上述任何一个术语都不熟悉,这里有一个高层次的概述:

  • **NET MVC:**微软 MVC 架构模式的实现,用于构建健壮且轻量级的测试友好的 web 应用。
  • **Web API:**微软对 RESTful API 的回应,Web API 允许开发者构建 HTTP 服务,作为 Web 应用和移动应用的后端。
  • **网页:**微软创建轻量级动态网站的解决方案。 在撰写本文时,Web 页面在 asp.net Core 1.0 中是不可用的,所以在本书中不会涉及到它。

下图说明了一个典型的 ASP.NET web 应用,使用 MVC 和 web API。 请注意,Web API 可以用于 Web 浏览器以外的客户端,比如移动应用。 值得一提的是,这里的浏览器也可以包括移动网页浏览器:

High-level overview

版本号

您可能已经注意到,我在谈论 ASP 时提到了 MVC 6。 净的核心。 ASP.NET MVC 6 已经被重命名为 ASP .NET Core 1.0 MVC。 为了记录所有的新版本号码,以下列出了你需要知道的信息:

  • c# 6.0
  • ASP.NET Core:
    • 运行在。net Core 1.0 或。net Framework 4.5.1+上
  • .NET Framework 4.6.2(撰写本文时)
  • net 1.0 核心
  • ASP.NET Core 1.0 MVC
  • SignalR 3(在撰写本文时尚未发布)

Version numbers

把它们放在一起

现在您已经熟悉了 ASP 的移动部分.NET Core 和它的各种版本号,你将如何决定使用哪些部分? 好消息是,在你开始你的项目之前,你不需要弄清楚所有的事情。

考虑一下您的 web 软件项目的需求和客户的需求。 选择对你和你的团队有意义的技术,开始着手于最小可行产品(MVP)。

如果你需要支持网页浏览器,使用 ASP.NET MVC,并构建响应性良好的 web 应用,在任何屏幕尺寸上看起来都很好。 如果需要使用 Web API 扩展应用,那么只公开需要公开的内容。

如果您需要实时功能,SignalR是一个很好的起点。 在撰写本文时,微软已经宣布 SignalR 3 将不会包含在 ASP 1.0 发行版中。 净的核心。 因此,本书将不涉及 signalr3。 更多信息请关注 SignalR 网站:http://www.asp.net/signalr

.NET Framework 和.NET Core 的区别

自从。net 框架出现以来,每次都只发布一个版本。 每当有新版本发布时,您都可以升级到最新版本或同时安装多个版本。 但总是有一个最新的版本。

展望未来,现在有两个截然不同的版本:完整的。net 框架和全新的。net Core。 而 ASP.NET Core web 应用可以在其中任何一个平台上运行,您将决定哪一个更适合您的需要。 您可以在开发期间或发布期间更改运行时。 最好的是,您可以将运行时与发布的产品一起部署,这样就可以将. net 的多个版本部署到同一台服务器上。

下面的截图说明了 ASP.NET Core 运行在。NET Framework 4.6 和。NET Core 1.0 上:

Differences between .NET Framework and .NET Core

完整的。net Framework 4.6

即使有了。net Core 的发布,完整的。net 框架仍然有一席之地。 它将继续是富 Windows 桌面应用的首选框架,这些应用是用Windows Presentation Foundation(WPF)或 Windows 窗体创建的。 它将是两个选择之一的 ASP.NET Core 开发人员。

ASP.NET 4 的开发者们,.NET Framework 4.6 将会成为。NET 4 的替代。 x 运行时。 这包括。net 4、4.5、4.5.1 和 4.5.2。 升级到。net 4.6 的一个很好的理由是新的改进带来的好处,比如更好的编译和添加的语言特性。

轻量级。net Core

新的。net Core 是完整的。net 框架的一个轻量级的跨平台子集,可以在 Windows、Linux 和 OS x 上使用。net Framework。预计它将在新的特性中超越。net Framework,这些新特性可能会回到。net Framework。

值得注意的是。net Core 不是 Windows 桌面开发人员或 ASP 的选项。 净 4 开发人员。 除了支持 ASP.NET Core web 应用的CoreCLR运行时,.NET Core 还包括。NET 本机运行时,这是专门用于 Windows 10 上的通用 Windows 应用

运行 ASP.NET Core 和。NET Core

总结一下,让我们关注一下运行 ASP 的以下好处。 .NET Core 上的 web 应用,除了它的跨平台支持:

  • 灵活性:使用。net Core, web 应用可以使用。net Core 框架的特定版本进行部署,这将允许您只使用它所需要的版本来部署每个应用
  • 性能:使用。net Core,由于其更低的内存占用和更快的启动时间,您将享受到性能上的好处

是否运行 ASP。 在完整的。NET 框架或新的。NET Core 中,您将享受到一个现代的应用框架,它使您轻松进入云部署,并通过动态编译促进更快的开发。

Visual Studio 2015 和 Visual Studio Code 有什么新变化?

在每个发布周期中,Visual Studio 都有几个不同的 sku 可用。 从 Visual Studio 2013 开始,微软为学生、开源开发人员和小型团队添加了一个社区版,作为专业版的免费替代品。 除了 Visual Studio 2015,微软还增加了一个名为Visual Studio code的跨平台代码编辑器。

对于开发者来说,以下是 Visual Studio 2015 的现有产品:

  • 社区版
  • 专业版
  • 企业版

您可能还记得 Visual Studio 以前的版本也包括高级版和终极版。 这两个版本已经合并到企业版中。

要了解 Visual Studio 的各个版本,你可以参考以下网址的比较表:

https://www.visualstudio.com/products/vs-2015-product-editions

社区版

在 Community Edition 之前,许多学生、独立开发人员和小型团队使用免费的 Express Edition。 然而,Express Edition 缺少许多 Pro 功能,比如扩展。 现在,通过 Community Edition,非企业开发人员可以获得用于跨平台应用开发的全功能 IDE。

更好的是,社区版为成千上万的 Visual Studio 扩展打开了大门。 如果你没有在Visual Studio Gallery中找到你需要的,你也可以创建你自己的扩展。

专业版和企业版

对于有更多需求的企业开发人员和专业团队,您可以从专业版或企业版中进行选择。 完整的 ide 的功能之外的社区版,专业版也给你进入CodeLens,Team Foundation Server(TFS),和敏捷项目规划工具。 CodeLens 提供了对代码历史的更深入的了解,而 TFS 可以用于源代码控制和持续集成。

企业版提供了上述所有功能,以及用于软件架构、建模、测试和代码覆盖的企业级工具。

要详细了解 Visual Studio 的各个版本,您可以参考https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs中的比较表。

Visual Studio 代码

为了给今天的开发者提供更多的选择,微软已经开始提供一个叫做 Visual Studio code 的跨平台代码编辑器。 这个新产品是免费的,适用于您所选择的平台:Windows、Mac OS X 和 Linux。

Visual Studio Code 主要是为 web 和云应用,如 ASP.NET web 应用或 Node.js 后端代码。 但你可以自由地将其用于其他用途,如 Unity 游戏开发和使用 c++、Java、PHP、Python、Ruby 等最流行的语言进行跨平台应用开发。

对于那些想知道的人来说,Visual Studio Code 与流行的Sublime Text有着惊人的相似之处,并且是它的一个很好的替代品。 下面的截图显示了 Visual Studio Code:

Visual Studio Code

Visual Studio 代码:project.json

有关其他语言的更多信息,请参考https://code.visualstudio.com/Docs/languages

所有这些版本的 Visual Studio 2015 和 Visual Studio Code 都可以用于 ASP.NET Core web 应用开发。 当你创建一个新项目在 Visual Studio 2015 中,您将看到项目模板为空项目,Web API 项目,和的 Web 应用项目,如下面屏幕截图所示。 另一方面,Visual Studio Code 是基于文件/文件夹的(而不是基于项目/解决方案的),所以你可以通过打开一个包含支持项目的文件夹来打开一个项目的文件:

Visual Studio Code

除了 Visual Studio 之外,您还可以使用Yeoman来创建一个新的 ASP.NET 项目工作。 Yeoman 是一个脚手架工具,可以帮助你生成各种现代 web 应用,包括 ASP.NET。 欲了解更多关于约曼的信息,请访问其网站http://yeoman.io

本书将主要关注 Visual Studio 2015。 所有的截图和说明都将使用 Visual Studio 2015 Community Edition 和运行在 Windows 10 上的 Edge 网络浏览器。 如果使用不同的编辑器、操作系统或 web 浏览器,则必须在自己的环境中执行相同的步骤。 无论使用什么平台,应用代码都应该保持不变。

运行 ASP.NET Core 在 Windows, Mac OS X 和 Linux

ASP.NET Core,你现在可以在 Mac OS X 和 Linux 上开发和部署你的应用,除了 Windows。 如果您在很久以前使用过活动服务器页面(ASP),您可能会记得Chili! 软 ASP,一个第三方解决方案的 web 服务器插件,它允许 ASP 在 Solaris, Linux 和其他 Unix 平台上运行。 新的。net Core 远不止于此。

通过一个跨平台的运行时,它可以与你的 web 应用一起部署,. net Core 提供了来自微软的官方支持,以享受 ASP 的好处.NET 在您最喜欢的平台上。 使用前面提到的 Visual Studio Code,您还可以轻松地构建 ASP。 这些平台上的核心应用。

虽然这本书将主要涵盖 ASP。 下面的说明将帮助您在 OS X 和 Linux 上设置您的环境。

Windows 上的 NET Core

为 asp.net 设置开发环境.NET Core 在 Windows 上是相当简单的。 如果你已经安装了最新的 Web 开发工具 Visual Studio 2015 Update 3,那么你已经拥有了你所需要的。 新的 ASP.NET Core 模板足以让你入门。

如果您只是需要一台或多台开发机器上的基本代码编辑器,那么您也可以在 Windows 上使用 Visual Studio Code。 请注意,社区版仅适用于非企业客户,因此不能将其与新的专业版或企业版一起安装。

Mac OS X 上的 NET Core

要在 Mac OS X 上设置开发环境,可以从安装最新版本的 Visual Studio Code 开始。 您也可以安装 ASP.NET Core 的命令行。 这里有一个高层次的三步流程让你开始:

  1. 安装打开 SSL。
  2. 安装。net Core SDK。
  3. 安装 Visual Studio Code for OS X。

获取关于设置 ASP. net 的最新详细说明(和命令行说明)。 在 Mac OS X 上,你可以参考微软的官方指南https://www.microsoft.com/net/core#macos

Linux 下的 NET Core

在 Linux 上设置开发环境有点复杂。 如您所料,您可以从在 Linux 机器上安装 Visual Studio Code 开始。

要总结设置运行时的步骤,您必须执行以下操作:

  1. 安装先决条件,根据您的 Linux 版本可能有所不同。
  2. 安装。net Core SDK。
  3. 安装 Visual Studio Code for Linux。

获取关于设置 ASP 的最新详细说明.NET Core 在 Linux 上,你可以参考微软的官方指南,网址如下。 选择一个 Linux 发行版,可以在https://www.microsoft.com/net/core上查看关于这个特定发行版的更多细节,如 Red Hat、Ubuntu、Debian 和其他许多发行版。

总结

在本章中,我们已经对 ASP 进行了介绍.NET Core、。NET Framework 以及各种版本的 Visual Studio。 我们还了解了. net Core 的跨平台特性,并简要介绍了如何在各种操作系统上设置开发环境。

在下一章中,我们将学习如何构建你的第一个 ASP.NET Core web 应用在 Visual Studio 2015 上运行在 Windows 10 上。 我们将浏览项目模板,并剖析一个基本的 web 应用,以便更好地理解它的各个部分及其配置。