ASP.NET Core Web开发上笔记-1介绍篇

ASP.NET Core Web开发上笔记-1介绍篇

为大家说声报歉,从2012年个人情感破裂的那无异天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再次为没创新了。踏实的生存(曾辞职转行后再也回来),娶妻生子,很谢谢自己的恋人能够当极度危难时刻帮助我,也不行感话我的妻对自身事业的支撑,希望大家保重好身体,多上,多陪伴家人。

 一直打事.Net和 PHP
和组成部分请勿成型的前端开发,有人评价WP的失败,是,现在这开源之时段,如果跟不上,闭门自封,将会落下深渊。个人认为微软出.Net
Core  为深已晚,很多市面如Windows, CE,Phone一样让市场冷酷的淘汰。但唯是
ASP.NET Core 是针对性 ASP.NET
的相同潮意义重大的重构。跨平台,C#语法通俗简练,肯定效果非同一般。

 懂行的口还晓得,ASP.NET
易学难精,只要大神优化做的好,用好MVC,webAPI,解决高并发,在后台语言上是发过多优点的,这里虽非多费话了。本篇内容是为记录:ASP.NET
Core Web开发上笔记遇到的总点。

 

什么是 ASP.NET Core?

ASP.NET Core 是一个初的开源和跨平台的框架,用于构建而 Web
应用、物联网(IoT)应用以及动后端应用等连接到互联网的基于云的现世应用程序。ASP.NET
Core 应用可运行为 .NET
Core 和总体的 .NET
Framework 之上。
构建它的目的是也那些部署在云端或者其中运转(on-premises)的采取提供一个优化的支出框架。它由最小支的模块化的零部件构成,因此于构建而的化解方案的还要可维持灵活性。你可于
Windows、Mac 和 Linux 上跳平台的开同周转而的 ASP.NET Core 应用。
ASP.NET Core 开源在 GitHub 上。

 

由此 ASP.NET Core,你可以得的改良:

  • 一个集合之措施用于构建 web UI 和 web APIs
  • 集成 现代的客户端支付框架 和开支流程
  • 一个适用于言语的,基于环境之 安排体系
  • 内置的 倚注入
  • 流行的轻量级的、模块化 HTTP 请求管道
  • 运转为 IIS 或者自宿主(self-host)于您自己之过程的力
  • 基于支持真正的 side-by-side 应用程序版本化的 .NET
    Core 构建
  • 完全以 NuGet 包的花样发表
  • 乍的用来简化现代 web 开发之工具
  • 可以于 Windows 、Mac 和 Linux 上构建和运作跨平台的 ASP.NET 应用
  • 开源又强调社区

 

应用程序事例

如果拓展付出条件以及工具确保安装:

图片 1

我们使用VS2015创建一个初的 ASP.NET Core 解决方案

 图片 2

 

一个 ASP.NET Core 应用其实就算是一个以其 Main 方法被开创一个 web
服务器的略控制台应用程序:

 图片 3

 

当上头图示中,web 服务器 Kestrel 被启用,但是你吧足以指定其他 web
服务器。(Kestrel 是一个实现了应用程序类似于IIS功能的服务器)

用于创造一个 web 应用程序宿主。这个 builder 有些用于定义 web 服务器
(如 UseKestrel)和 startup 类型( UseStartup)的方法。(startup
是一个大局启动配置文件,用来定义请求处理管道和安排利用得之劳务。

 

图片 4

ConfigureServices
方法:可定义之服务有:实现了同样密密麻麻IService的IServiceCollection,如:ASP.NET
MVC Core framework、Entity Framework Core、Identity 等等

Configure
方法:定义你的伸手管道中之 中间件(middleware)来配置并告和应HTTP的管道命令

 

哎是劳务(Services)

服务是运用中用来通用调用的零部件。服务通过依赖注入获取并下。 ASP.NET
Core 内置了一个简约的决定反转(IoC)
容器,它默认支持构造器注入,并且可一本万利之更迭成你协调选用的 IoC 容器。

 

 

咦是高中级件(Middleware)

ASP.NET Core
中间件为一个 HttpContext 执行异步逻辑,然后照顺序调用下一个中间件或者直接停请求。一般的话你只要采取一个当中件,这个当中件如完成IHttpContext的ProcessRequest方法,如果您熟悉HTTP请求管道,这个方式一般在第7-8个事件处理中。

粗略的说,这个当中件,就是若的应用程序如何落实了IHttpContext,并做了对应的request
和 response和拍卖。 

微软于我们提供了怎么中间件: 

ASP.NET Core 带来了长的嵌入中件:

  • 静态文件(Static
    files)
  • 路由(Routing)
  • 身份验证(Authentication)

    您呢得以创造而协调的 由定义中间件。

    汝为堪在 ASP.NET Core
    中使外依据 OWIN 的中游件。

 

服务器(Servers)

ASP.NET Core 托管模式并无直监听请求;而是因让一个
HTTP server 实现来转发呼吁到应用程序。

此服务器进行监听而的应用服务端口,并转账以相同组 feature
接口的形式来包装后要,然后叫应用程序组合及一个 HttpContext中去。

ASP.NET Core 包含了一个托管的跨平台 web
服务器,被称作 Kestrel,(想起来了吧?
在)它数会受周转于一个要是 IIS 或者 nginx 的养
web 服务器之后。

 

 

内容根本目录(Content root)

情根本目录是应用程序所用到的持有情节之清路径,例如它的 views 和 web
内容。内容根本目录默认与宿主应用之可执行程序的动到底目录相同;一个代表的地方可以透过 WebHostBuilder 来设置。

Web根目录(Web root)

乃的采用之Web根目录(Web root)是若色面临存有公共的、静态的资源,如
css、js 和 图片文件的目录。静态文件中件拿默认只公布 Web 根目录(Web
root)和其子目录中之公文。 Web 根目录(Web
root)默认为 /wwwroot,但是你为可通过 WebHostBuilder 来指定另外一个地点。

 

配置(Configuration)

ASP.NET Core
使用了一个新的部署型用于拍卖大概的键值对。新的布局型并非因System.Configuration 或者 web.config ;而是从一个静止的布提供者集合拉取数据。内置的安排提供者支持多种不同的文件格式如(XML,JSON,
INI)和用来支持因环境的布局环境变量。你为堪实现公自己自定义之布置提供者。

 

环境(Environments)

环境:生产环境,DEBUG和RELEASE是均等种植编译状态,开发时当系统级开发被分了如果
“Development” 和 “Production”,是 ASP.NET Core
中的首先层概念同时它好设置成采取环境变量。

使用 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
    在规划时早已考虑到和各种客户端框架(AngularJS,KnockoutJS 和 Bootstrap)的无缝集成。 

     

相关文章