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. 浅谈Javascript中的Label语句

    如: begin: for (var i = 0; i < 10 ; i++ ){ alert(i); } 举一个比较典型的例子,看完后即明白 Label 的应用:(未添加 Label) var ...

  2. RSS简介

    1.RSS(Really Simple Syndication)简介 1.定义     对于网站:RSS 是一种使用 XML 向许多其他的网站分发自己网站上的网络内容的方法.     对于用户:RSS ...

  3. string的常见用法

    使用前提:需要头文件! #include<string> using namespace std; 1.string类型是可以下标访问的,也可以通过迭代器访问 string::iterat ...

  4. AndroidStudio 集成litepal 报错

    E/AndroidRuntime(24972): org.litepal.c.b: can not find a class named org.litepal.model.Table_Schema ...

  5. View的平移、缩放、旋转以及位置、坐标系

    原创 2015年05月12日 13:15:29 标签: Android / Scroll / Scale / Translation / Rotation 24733 Android开发中,经常会接触 ...

  6. NOIp2017 滚粗记

    NOIp2017 滚粗记 Day0 早上 早自习的时候,班主任忽然告诉我们, 我们要参加期中考试... 这对于我们真是一个沉重的打击... 但是,管不着了 明天就死去考试了 上午 \(8:10\)到了 ...

  7. 【CJOJ2484】【Luogu2805】最小函数值(函数最小值)

    题面 Description 有n个函数,分别为F1,F2,...,Fn.定义 Fi(x)=Aix2+Bix+Ci(x∈N∗)Fi(x)=Aix2+Bix+Ci(x∈N∗) .给定这些Ai.Bi和Ci ...

  8. 【Luogu1919】 A*B Problem升级版(FFT)

    题面戳我 题解 把每个数都直接看做一个多项式,每一位就是一项 现在求用FFT求出卷积 然后考虑一下进位就可以啦 #include<iostream> #include<cstdio& ...

  9. 【BZOJ3529】【SDOI2014】数表

    Time Limit: 1000 ms Memory Limit: 512 MB Description 有一张n×m的数表,其第i行第j列 (1≤i≤n,1≤j≤m)的数值为能同时整除i和j的所有自 ...

  10. 设置ImageView显示的图片铺满全屏

    转自:http://m.blog.csdn.net/blog/wjwj1203/32334459   为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...