码迷,mamicode.com
首页 > Web开发 > 详细

ASPNET 5

时间:2015-12-14 22:50:15      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:

1. 什么是APS.NET 5

ASP.NET 5是一个可构建基于云服务的Web应用的构架,并且它是开源的和跨平台的。我们提供了重新设计的一个可以部署在本地和云服务的优化框架。它由一个一个模块组成,因此你能灵活地构建你的应用。你可以开发并运行在Windows, Mac, Linux上面。

2. 为什么构建ASP.NET 5

第一版ASP.NET 1.0开始于15年前,从那以后成千上万的开发者开始使用它来创建自己的Web应用程序,之后的几年,我们增加了许多的功能。

ASP.NET5 我们做了不少的架构改变使它更加地简洁和模块化。它不在基于System.Web.dll, 而是使用Nuget来优化构建你所需要的组件。你能避免应用程序的臃肿提高安全性,减少服务压力,还能提高性能。

ASP.NET5 是考虑到现代WEB应用程序的状况而创建的,它包括一个统一的方式创建Web UI和Web APIs,并集成了当今流行的客户端框架和开发流程。ASP.NET5基于云端的引用环境的配置和提供内建的DI支持。

为了提供更多的开发者的需求,ASP.NET5 支持跨平台,整个ASP.NET5栈是开源的并且鼓励开源社区的贡献和参与。 ASP.NET 5 可以用Visual Studio来创建,同时它也提供了很多强大的命令接口,使你可以用其它的开发工具开发。

总结下来,ASP.NET 5 你可以得到如下的功能提升:

* 一个轻量级的模块化的HTTP请求管道

* 可以宿主在IIS或者自己的应用程序当中

* 基于.net core, 支持不同版本应用程序的开发

* 通过NuGet来下载所需要的DLL

* 集成了创建和使用NuGet包的功能

* 统一的Web UI, APIs 栈

* 云计算环境的相当配置

* 内建型的DI

* 新的可以简化Web开发的工具

* 创建并且运行与跨平台的应用

* 开源并且支持社区的贡献

3. 应用程序剖析

ASP.NET5 用DNX来创建和运行应用程序。每一个ASP.NET 5工程就是一个DNX 工程,ASP.NET 5通过ASP.NET 应用宿主包与DNX集成在一起。

ASP.NET5 应用程序用Startup 类来定义应用程序

public class Startup

{

  public void ConfigureServices(IServiceCollection services)

  {}

  public void Configure(IApplicationBuilder app)

  {}

}

ConfigureServices方法定义你的应用程序需要的服务,Configure方法定义使用的中间件。

4. 服务

服务是一组公共的组件,它通过DI来创建,ASP.NET5提供一个内建的简单的IOC容易来创建,但是它也可以被其它的IOC容器代替。

服务在ASP.NET5中有三种生命周期,单例、范围、暂时。对于Web应用程序,一个容器的范围是基于每个请求的,所以你可以认为创建一个服务的范围生命周期是一个请求一个范围。

5. 中间件

在ASP.NET5当中请求的管道是由中间件组成的,ASP.NET5的中间件执行异步的逻辑在一个HttpContext当中,然后可选择地调用下一个中间件或者结束当前的request. 你一般在Configure方法中通过IApplicationBuilder的扩展函数来"Use"中间件。

ASP.NET5 提供了一系列的内建的中间件

* 静态文件

* 路由

* 诊断

* 身份验证

你也可以创建自己的中间件, 你也可以使用任何基于OWIN的中间件。

5. 服务器

ASP.NET应用程序宿主不直接监听请求,而是依赖一层服务的实现把请求封装到HttpContext然后再传到应用程序当中。

ASP.NET5的服务器可以在IIS上跑也可以宿主在你自己的应用进程当中。 在Windows上面你除了用IIS也可以用WebListener服务,它是基于HTTP.sys的。你也可以在跨平台的操作系统上用Kestrel 服务。

6. Webroot

Web根目录是你存放HTTP应用的根目录, 它可以放Http 请求的静态文件,在ASP.NET5当中它配置在project.json文件的webroot属性当中。

7. 配置

 ASP.NET5用了一个新的配置模型存放键值对,而不是原来的System.Configuration或者web.config. 这些配置被一系列的配置提供者读取。内建的配置提供都支持不同格式的配置文件,如XML, JSON, INI等。另外环境变量可以改变基于环境的配置。你也可以自定义一个你自己的配置提供者。环境配置像开发和生产环境,在ASP.NET5里很容易设置。例如:

var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json").AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);

if(env.IsDevelopment())

{

 builder.AddUserSecrets();

}

builder.AddEnvironmentVariables();

Configuration = builder.Build();

8. 客户端的开发

ASP.NET5无逢地集成 了各种各样的客户端的框架,包括AngularJS, KnockoutJS还有Bootstrap.

ASPNET 5

标签:

原文地址:http://www.cnblogs.com/superkklot/p/5041085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!