ASP.NET Core学习之一 入门简介

一 、入门简介

在就学在此之前,要先通晓ASP.NET
Core是何等?为啥?很多少人学习新技巧功利心很重,恨不得登时就学会了。

实际,这样做很倒霉,马虎大意,联系进程中又消费拾分多的小时去化解所碰到的“难题”,是简单的题材,对,正是不难,就是因为觉得简单被忽视的事物,恰恰那才是最首要的。

一 、学习材质

率先,介绍下哪里可以获取深造资料

英文官网,最棒的文书档案,马耳他语得出神入化

https://docs.microsoft.com/en-us/aspnet/core/

可惜当年土耳其共和国(The Republic of Turkey)语就是粗枝大叶过来的,所以找了以下清晨翻译,以下是清晨目录的链接

http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-index.html

 以下起初正题,重要来源dotNETCoreSG博客,对有效的剧情开始展览删减记录,少花时间看一些不想看的事物

2、什么是 ASP.NET Core?

ASP.NET Core 是3个新的开源和跨平台的框架,用于营造如 Web
应用、物联网(IoT)应用和平运动动后端应用等连接到互联网的基于云的现世应用程序。ASP.NET
Core 应用可运转于 .NET
Core
 和全体的 .NET
Framework 之上。
营造它的目标是为那多少个安排在云端可能当中运营(on-premises)的应用提供叁个优化的支付框架。它由微小开支的模块化的零部件构成,由此在创设你的缓解方案的同时能够保证灵活性。你能够在
Windows、Mac 和 Linux 上跨平台的开支和运作你的 ASP.NET Core 应用。
ASP.NET Core 开源在 GitHub 上。

三 、为啥创设 ASP.NET Core?

ASP.NET Core
有一对架构上的转移,不再基于 System.Web.dll 。当前它依据一种类颗粒化的,并且能够创设的 NuGet 包。这一风味能够让您通过单独包含要求的
NuGet 包的不二法门来优化你的施用。通过 ASP.NET Core,你能够获取的改进:

  • 2个合并的点子用于创设 web UI 和 web APIs
  • 集成 现代的客户端支付框架 和开销流程
  • 三个适用于云的,基于环境的 布署体系
  • 内置的 依傍注入
  • 风行的轻量级的、模块化 HTTP 请求管道
  • 运作于 IIS 可能自宿主(self-host)于你协调的长河的能力
  • 依据援助真正的 side-by-side 应用程序版本化的 .NET
    Core
     构建
  • 完全以 NuGet 包的款式宣布
  • 新的用于简化现代 web 开发的工具
  • 可以在 Windows 、Mac 和 Linux 上营造和周转跨平台的 ASP.NET 应用
  • 开源并且强调社区

② 、入门基础

1.应用程序剖析

  2个 ASP.NET Core 应用其实便是1个在其 Main 方法中创建三个 web
服务器的简便应用程序:

using System;
using Microsoft.AspNetCore.Hosting;

namespace aspnetcoreapp
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }
}

Main 调用遵从 builder 格局的 WebHostBuilder ,用于成立多个 web 应用程序宿主。这几个builder 有个别用于定义 web 服务器 (如 UseKestrel)和 startup
类型( UseStartup)的办法。在地点的演示中,web 服务器 Kestrel
被启用,可是你也能够钦点其余 web
服务器。我们将会在下一节显示越多关于 UseStartup 的内容。WebHostBuilder 提供了一些可选方法,当中囊括住宿在
IIS 和 IIS Express
中的 UseIISIntegration 和用于内定根内容目录的 UseContentRootBuild 和 Run 方法构建了用于宿主应用程序的 IWebHost 然后开行它来监听传入的
HTTP 请求。

 WebHostBuilder 的 UseStartup 方法为您的选取钦点了 Startup 类。

Startup 类是用来定义请求处理管道和计划使用须要的劳动。 Startup 类必须是公开的(public)并且带有如下方法:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
    }

    public void Configure(IApplicationBuilder app)
    {
    }
}

ConfigureServices 定义你的施用所运用的劳动(在底下查看 服务(Services) )(例如
ASP.NET MVC Core framework、Entity Framework Core、Identity 等等)

Configure 定义你的乞请管道中的 中间件(middleware)

更加多内容请参考: Application
Startup

服务(Services)是利用中用于通用调用的组件。服务通过重视注入获取并选用。
ASP.NET Core 内置了一个简单的支配反转(IoC)
容器,它暗中同意协助构造器注入,并且能够便宜的替换来你本身选用的 IoC
容器。由于它的松耦合脾性,重视注入(DI)
使服务在全数应用中都能够选拔。例如,Logging 在您任何应用中都可用。查看 Dependency
Injection
 获取更加多消息。

中间件(Middleware)

在 ASP.NET Core
中,你能够采取 Middleware 营造你的伸手处理管道。
ASP.NET Core 中间件为一个 HttpContext 执行异步逻辑,然后按顺序调用下叁当中间件恐怕直接终止请求。一般的话你要利用2个中间件,只供给在 Configure 方法里调用 IApplicationBuilder 上三个一见钟情的 UseXYZ 增加方法。

ASP.NET Core 带来了丰裕的内置中间件:

你也足以创制你自身的 自定义中间件

你也能够在 ASP.NET Core
中央银行使别的依照 OWIN 的中间件。查看 OWIN 获取越多音信。

服务器(Servers)

ASP.NET Core 托管情势并不直接监听请求;而是依靠于一个HTTP server 达成来转载呼吁到应用程序。这几个被转正的呼吁会以一组
feature 接口的款式被打包,然后被应用程序组合到三个 HttpContext中去。
ASP.NET Core 包涵了二个托管的跨平台 web
服务器,被称呼 Kestrel,它往往会被周转在1个如 IIS 或者 nginx 的生产
web 服务器之后。

剧情根目录(Content
root)
是应用程序所用到的具有剧情的根路径,例如它的 views 和 web
内容。内容根目录暗中同意与宿主应用的可执行程序的应用根目录相同;二个代表的地方能够透过 WebHostBuilder 来设置。

你的选取的Web根目录(Web root)是您项目中拥有公共的、静态的财富,如
css、js 和 图片文件的目录。静态文件中间件将暗中认可只发表 Web 根目录(Web
root)和其子目录中的文件。 Web 根目录(Web
root)暗中认可为 /wwwroot,可是你也能够透过 WebHostBuilder 来钦命此外三个地方。没驾驭好处在哪个地方,和原先有什么分裂?

配置(Configuration)

ASP.NET Core
使用了二个新的布署模型用于拍卖差不多的键值对。新的配置模型并非基于System.Configuration 或者 web.config ;而是从三个依样葫芦的安顿提供者集合拉取数据。内置的陈设提供者帮忙种种不一致的文件格式如(XML,JSON,
INI)和用来协理基于环境的配备环境变量。你也得以兑现您自身自定义的安插提供者。查看 Configuration 获取更加多消息。

环境(Environments),如 “Development” 和 “Production”,是 ASP.NET
Core 中的第顶级概念同时它能够设置成使用环境变量。查看 Working with
Multiple
Environments
 获取越来越多新闻。

使用 ASP.NET Core MVC 构建 web UI 和 web APIs

  • 您能够选拔 Model-View-Controller(MVC)方式开创美好的同时可测试的
    web 应用程序。查看 MVC 和 测试
  • 您能够营造支撑各样格式并且完全扶助内容协商的 HTTP 服务。
    查看 Formatting
  • Razor 提供了一种高效的语言用于创建 Views
  • Tag
    Helpers
     启用服务器端的代码出席到 –
    Razor 文件的创导和 HTML 成分渲染
  • 你能够利用自定义恐怕放置的 formatters (JSON,
    XML)来营造完全协理内容协商的 HTTP 服务
  • Model Binding
    模型绑定
     自动的映射
    HTTP 请求中的数据到 action 方法参数
  • Model Validation
    模型验证
     自动的施行客户端和劳动器端验证

客户端支付

ASP.NET Core
在筹划时已考虑到和各样客户端框架(AngularJSKnockoutJS 和 Bootstrap)的无缝集成。查看 Client-Side
Development
 获取越多消息。

 

 

相关文章