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. 弹出层罩子html(上传照片弹出请等待后面的代码不能修改)

    一,效果 二,素材 三,代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> ...

  2. Struts2【配置】知识要点

    前言 上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了.....对Struts的配置文件有了了解.....本博文继续讲解Struts在配置的时候一些值得要学习的细节... 通配符 为 ...

  3. ThreadLocal原理

    ThreadLocal类可以看作是当前线程的一个局部变量,只有当前线程可以访问,因此是线程安全的. ThreadLocal内部维护了一个ThreadLocalMap类,ThreadLocalMap是一 ...

  4. Java 中文编码分析

    一.charAt 与 codePonitAt 我们知道 Java 内部使用的是 utf-16 作为它的 char.String 的字符编码方式,这里我们叫它内部字符集.而 utf-16 是变长编码,一 ...

  5. CentOS 7.x 防火墙开放端口相关用法记录

    前言 防火墙对服务器起到一定的保护作用,所以了解一些相关的操作是很有必要的. 在CentOS 7.x中,有了一种新的防火墙策略,FireWall , 还记得在6.x中用的还是iptables. 这几天 ...

  6. 一个2D平面游戏,的碰撞引擎实现

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); i ...

  7. 【BZOJ3998】弦论(后缀自动机)

    [BZOJ3998]弦论(后缀自动机) 题面 BZOJ 题解 这题应该很简单 构建出\(SAM\)后 求出每个点往后还能构建出几个串 按照拓扑序\(dp\)一些就好了 然后就是第\(k\)大,随便搞一 ...

  8. 【CJOJ2498】【DP合集】最长上升子序列 LIS

    题面 Description 给出一个 1 ∼ n (n ≤ 10^5) 的排列 P 求其最长上升子序列长度 Input 第一行一个正整数n,表示序列中整数个数: 第二行是空格隔开的n个整数组成的序列 ...

  9. [POI2000]病毒

    题面 传送门 Sol 建出AC自动机后DFS能走的点,如果能走回来就可行 # include <bits/stdc++.h> # define IL inline # define RG ...

  10. [BZOJ1085] [SCOI2005] 骑士精神 (A*)

    Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2, ...