ASP.NET Core 是一个跨平台,高性能的开源框架,用于构建现代化的,基于云的互联网应用程序。使用 ASP.NET Core ,您可以:

  • 构建Web应用程序和服务,IoT应用程序和移动后端。
  • 在Windows,macOS和Linux上使用您最喜爱的开发工具。
  • 部署到云端或本地(on-premises)
  • 在.NET Core或.NET Framework上运行。

为什么要使用ASP.NET Core?

数百万的开发人员已经使用ASP.NET(并继续使用它)来创建web程序。  ASP.NET Core 是 ASP.NET 的重新设计,其架构更改使得框架更精简和模块化。ASP.NET Core提供以下好处:

  • 统一的方式构建Web UI和Web API。
  • 整合现代客户端框架和开发工作流程。
  • 一个云就绪的,基于环境的配置系统。
  • 内置依赖注入。
  • 轻量级,高性能和模块化的HTTP请求管道。
  • 可以寄宿在IIS上或者自宿主(self-host)于你自己的进程。
  • 可以在.NET Core上运行,它支持真正的并行应用程序版本管理。
  • 用于简化现代Web开发的工具。
  • 能够在Windows,MacOS和Linux上构建和运行。
  • 开源并重视社区。

ASP.NET Core 完全使用NuGet包。这允许您优化您的应用程序,仅包括您需要的NuGet包。这样做的好处是应用程序占用空间更小,更安全,减少服务,改进性能。

使用ASP.NET Core MVC构建Web API和Web UI

ASP.NET Core MVC提供了帮助您构建Web API和Web应用程序的功能:

  • 模型 - 视图 - 控制器(MVC)模式有助于使您的Web API和Web应用程序是可测试的。
  • Razor Pages (2.0版本中的新功能)是一种基于页面的编程模型,可以使Web UI的创建更简单,更高效。
  • Razor语法为 Razor Pages 和 MVC Views 提供了高效的语言。
  • Tag Helpers 使服务器端代码能够在Razor文件中创建和呈现HTML元素。
  • 内置支持多种数据格式和内容协商功能,可让您的Web API覆盖广泛的客户端,包括浏览器和移动设备。
  • 模型绑定自动将数据从HTTP请求映射到 action 方法参数。
  • 模型验证自动执行客户端和服务器端验证。

客户端开发

ASP.NET Core旨在与各种客户端框架无缝集成,包括AngularJSKnockoutJSBootstrap。有关详细信息,请参阅客户端开发

快速入门

1、安装.NET Core SDK

创建 .NET apps,只需要下载 .NET Core SDK for Windows,此安装器将会安装最新稳定版本的工具,并将其放在环境变量PATH里,以便我们可以在任何地方打开控制台运行dotnet。

2、初始化一些代码

下面演示一个hello world的控制台程序

  1. 打开命令提示符
  2. 切换目录到桌面cd C:\Users\yang\Desktop
  3. 输入 dotnet new console -o hwapp命令,其中  dotnet new  表示创建一个新的应用程序, console 是创建应用程序的类型, -o hwapp 表示生成一个名叫hwapp(Hello World app的简写)的目录,生成的程序都会放到此文件夹下;
  4. 使用cd hwapp进入刚生成的hwapp目录

控制台应用程序模板会创建一个 Program.cs 文件,该代码将会输出"Hello World" 到控制台。

using System;

namespace hwapp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

3、使用 dotnet run 运行该程序

到此为止,我们已经构建并运行了第一个.NET 程序。以下是整个步骤:

C:\Windows\system32>cd C:\Users\yang\Desktop

C:\Users\yang\Desktop>dotnet new console -o hwapp

欢迎使用 .NET Core!
---------------------
若要详细了解 .NET Core,请访问 https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令或转到 https://aka.ms/dotnet-cli-docs。

遥测
--------------
.NET Core 收集使用情况数据,以便改善用户体验。数据是匿名的且不包含命令行参数。数据由 Microsoft 收集,并与社区共享。
可选择使用你最喜爱的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1,从而退出遥测。
若要深入了解 .NET Core 工具遥测,请访问 https://aka.ms/dotnet-cli-telemetry。
正在准备...
已成功创建模板“Console Application”。

正在处理创建后操作...
正在 hwapp\hwapp.csproj 上运行 "dotnet restore"...
  Restoring packages for C:\Users\yang\Desktop\hwapp\hwapp.csproj...
  Generating MSBuild file C:\Users\yang\Desktop\hwapp\obj\hwapp.csproj.nuget.g.props.
  Generating MSBuild file C:\Users\yang\Desktop\hwapp\obj\hwapp.csproj.nuget.g.targets.
  Restore completed in 193.89 ms for C:\Users\yang\Desktop\hwapp\hwapp.csproj.

还原成功。

C:\Users\yang\Desktop>cd hwapp

C:\Users\yang\Desktop\hwapp>dotnet run
  Hello World!

同理,创建一个web应用程序

C:\Users\yang\Desktop>dotnet new web -o webApp
已成功创建模板“ASP.NET Core Empty”。
此模板包含非 Microsoft 的各方的技术,有关详细信息,请参阅 https://aka.ms/template-3pn。

正在处理创建后操作...
正在 webApp\webApp.csproj 上运行 "dotnet restore"...
  Restoring packages for C:\Users\yang\Desktop\webApp\webApp.csproj...
  Generating MSBuild file C:\Users\yang\Desktop\webApp\obj\webApp.csproj.nuget.g.props.
  Generating MSBuild file C:\Users\yang\Desktop\webApp\obj\webApp.csproj.nuget.g.targets.
  Restore completed in 2.65 sec for C:\Users\yang\Desktop\webApp\webApp.csproj.

还原成功。

C:\Users\yang\Desktop>cd webApp

C:\Users\yang\Desktop\webApp>dotnet run
Hosting environment: Production
Content root path: C:\Users\yang\Desktop\webApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 75.0924ms 200
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/favicon.ico
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 0.459ms 200

同理,我们再来一个MVC web应用程序

C:\Users\yang\Desktop\webApp>dotnet new mvc -o mvcApp
已成功创建模板“ASP.NET Core Web App (Model-View-Controller)”。
此模板包含非 Microsoft 的各方的技术,有关详细信息,请参阅 https://aka.ms/template-3pn。

正在处理创建后操作...
正在 mvcApp\mvcApp.csproj 上运行 "dotnet restore"...
  Restoring packages for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj...
  Restoring packages for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj...
  Restore completed in 1.48 sec for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj.
  Generating MSBuild file C:\Users\yang\Desktop\webApp\mvcApp\obj\mvcApp.csproj.nuget.g.props.
  Generating MSBuild file C:\Users\yang\Desktop\webApp\mvcApp\obj\mvcApp.csproj.nuget.g.targets.
  Restore completed in 2.59 sec for C:\Users\yang\Desktop\webApp\mvcApp\mvcApp.csproj.

还原成功。

C:\Users\yang\Desktop\webApp>cd mvcApp

C:\Users\yang\Desktop\webApp\mvcApp>dotnet run
Hosting environment: Production
Content root path: C:\Users\yang\Desktop\webApp\mvcApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

.NET Core入门教程

概念和体系结构, ASP.NET Core Introduction and ASP.NET Core Fundamentals.

如何选择.NET Core和.NET Framework

.NET Core API地址

.NET 官方文档地址

.NET Core 中文文档

.NET Core初体验 在window上构建第一个app的更多相关文章

  1. JCEF 初体验,window系统构建jar包

    前言 本文记录如何通过jcef源代码去构建自己所需要的jar包,此文章构建的为windows64位jcef 的 jar 包,若需要构建 32 位的 jar 包,则需要按照文章将相关准备软件设置为 32 ...

  2. .NET Core初体验 - 在Mac下运行第一个Web示例程序

    要说最近两天程序猿之间最喜欢吹水的事是什么?那绝壁是甲骨文要放弃Java!简直做梦都要笑醒!由于公司的产品线全面转向Java,最近几个月也一直在苦学Java技术.已经默默决定了,如果消息证实是真的,我 ...

  3. Serverless 初体验:快速开发与部署一个Hello World(Java版)

    昨天被阿里云的这个酷炫大屏吸引了! 我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90.95后在玩?就深入看了一下. 这是一个关于Serverless的体验活动,Serverless在国内一直都 ...

  4. .NET Core 初体验

    .NET Core 作为微软的开源项目,neter 们对之的期待还是挺大的. 以前也看过,接触过,摸索建了几个示例项目,今天就罗列下自己的初体验. .NET Core 安装.帮助等 安装的话,直接官网 ...

  5. Visual Studio Code 学习.net core初体验

    一,安装 最近在用 Visual Studio Code 学习.net core ,记录下学习的过程,首先去官网下载最新的.net core2.1安装包,有windows 和mac,根据自己的开发环境 ...

  6. 阿里云函数计算 .NET Core 初体验

    体验了一波阿里云函数计算, 已支持 .NET Core 2.1, 那么按照惯例, 来写个 "Hello World" 吧. 作者注: 开发环境 Windows 10 & V ...

  7. redis 之初体验(window)

    1 下载window版本的redis :https://github.com/MSOpenTech/redis/releases 2 解压压缩包.我的放在了E盘: E:/redis 3 程序,输入cm ...

  8. .Net Core 初体验及总结(内含命令大全)

    dotnet 命令目录: dotnet new  -创建 dotnet restore  -还原 dotnet build -编译 dotnet run -运行 dotnet test -测试 dot ...

  9. .Net Core初体验

    对于C#语言支持(由C#1.0-C#7.1): 编码可以使用跨平台的IDE选择,就如同VS+Resharper一样方便: 运行效果:

随机推荐

  1. DirectX:函数可以连接任意两个filter

    函数可以连接任意两个filter HRESULT ConnectFilters( IBaseFilter *pSrc, IBaseFilter *pDest ) { IPin *pIn = 0; IP ...

  2. IOS开发之XCode学习011:UISwitch控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIswitch控件,添加UIswitc ...

  3. windows打开和关闭默认共享方法汇总

    Windows启动时都会默认打开admin$ ipc$ 和每个盘符的共享,对于不必要的默认共享,一般都会把它取消掉,可当又需要打开此默认共享时,又该从哪里设置呢.经过自己的验证,汇总出一下方法. 一: ...

  4. 巨幅SQL优化(SQL Tuning)——秒杀十几个小时不出结果的SQL

    今天接到用户的需求,某程序十几个小时没出结果了,很纳闷儿,于是让相关人员取了explain plan等信息,拿到explain plan后,搂一眼,就知道问题出在了哪里,explain plan跑偏了 ...

  5. 过滤器(Filter)和拦截器(Interceptor)

    之前总是弄混这两者,今天看了几篇文章,小结一下在这里. Filter介绍 Filter可以认为是Servlet的一种"加强版",它主要用于对用户请求进行预处理,也可以对HttpSe ...

  6. 动态地添加HTML控件-JavaScript基础

    相关: document对象的createElement()方法可以创建一个新的HTML控件(document.createElement("input");) setAttrib ...

  7. Dockerfile 中的 multi-stage

    在应用了容器技术的软件开发过程中,控制容器镜像的大小可是一件费时费力的事情.如果我们构建的镜像既是编译软件的环境,又是软件最终的运行环境,这是很难控制镜像大小的.所以常见的配置模式为:分别为软件的编译 ...

  8. [HNOI2013]切糕

    题目描述 网址:https://daniu.luogu.org/problemnew/show/3227 大意: 平面上有一长方体,目标为将其切割为上下两半. 切割点为\((x,y,z)\)的点,每个 ...

  9. MySQL系列-第一章节:MySQL介绍与安装

    1.数据库介绍 1.1.什么是数据库`<Database>` 简单说存放数据的仓库,这个仓库按照一定的数据结构<数据结构是指数据的组织形式或数据之间的联系>来组织.存储的,我们 ...

  10. .NET微服务 容器化.NET应用架构指南(支持.NET Core2)

    介绍 企业通过使用容器,日益实现成本节约.解决部署问题并改进 DevOps 和生产操作. 通过创建 Azure 容器服务.Azure Service Fabric 等产品,同时与 Docker.Mes ...