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

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

给大家说声报歉,从二零一二年个人心绪破裂的那一天,本身的51CTO,CnBlogs,Csdn,QQ,Weboo就再也尚未更新过。踏实的生活(曾辞职转行后重新回来),娶妻生子,很谢谢我的恋人能在最危难时刻扶助自个儿,也很感话作者的贤内助对自作者事业的支撑,希望大家保重好身体,多读书,多陪伴亲人。

 平昔从事.Net和 PHP
和一部分不成型的前端开发,有人评价WP的败诉,是,今后以此开源的时候,如若跟不上,闭门自封,将会坠入深渊。个人觉得微软出.Net
Core  为迟已晚,很多市集像Windows, CE,Phone一样被市镇暴虐的淘汰。但唯是
ASP.NET Core 是对 ASP.NET
的3遍意义首要的重构。跨平台,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)的采纳提供1个优化的支付框架。它由微小开销的模块化的零件构成,由此在营造你的化解方案的同时能够保障灵活性。你能够在
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 应用
  • 开源并且强调社区

 

应用程序事例

AngularJS,要拓展开发条件和工具包安装:

AngularJS 1

咱俩利用VS二〇一五创设二个新的 ASP.NET Core 消除方案

 AngularJS 2

 

一个 ASP.NET Core 应用其实正是三个在其 Main 方法中制造一个 web
服务器的简便控制台应用程序:

 AngularJS 3

 

在地方图示中,web 服务器 Kestrel 被启用,不过你也能够钦赐其余 web
服务器。(Kestrel 是三个得以实现了应用程序类似于IIS作用的服务器)

用来创建1个 web 应用程序宿主。这些 builder 有个别用于定义 web 服务器
(如 UseKestrel)和 startup 类型( UseStartup)的方法。(startup
是四个大局运转配置文件,用来定义请求处理管道和配备使用需求的服务。

 

AngularJS 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 执行异步逻辑,然后按顺序调用下二个中间件可能直接终止请求。一般的话你要利用2在那之中间件,那在这之中间件要成功IHttpContext的ProcessRequest方法,借使你熟谙HTTP请求管道,这些办法一般在第⑧-七个事件处理中。

简单易行的说,那当中间件,正是你的应用程序怎么样落实了IHttpContext,并做了对应的request
和 response和处理。 

微软给我们提供了什么中间件: 

ASP.NET Core 带来了拉长的放权中间件:

 

服务器(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
    在规划时已考虑到和种种客户端框架(AngularJSKnockoutJS 和 Bootstrap)的无缝集成。 

     

相关文章