• lession 1 认识asp.net core


    lession 1 认识asp.net core

    功能改进点:

    • A unified story for building web UI and web APIs 一个统一的构建web UI和web api的平台
    • Integration of modern client-side frameworks and development workflows 比较流行的客户端框架和开发工作流的集成
    • A cloud-ready environment-based configuration system 真正的基于云环境配置文件的系统
    • Built-in dependency injection 内置依赖注入
    • New light-weight and modular HTTP request pipeline 新的轻量级和模块化的http请求管道
    • Ability to host on IIS or self-host in your own process 基于IIS或者self-host的能力
    • Built on .NET Core, which supports true side-by-side app versioning 构建支持真正的应用程序版本控制
    • Ships entirely as NuGet packages 基于nuget包管理
    • New tooling that simplifies modern web development 新的简化Web开发的工具
    • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux 基于多平台构建,比如windows,mac,linux平台
    • Open source and community focused 开源和社区支持

    Startup

    Starpup 类是定义请求处理管理和配置所需要的服务(Services)的地方。Startup必须声明为public,而且包含两个方法:

    public class Startup
    {
        // 定义一些应用程序中需要用到的services,比如Mvc coreFramework,Entity frameworkcore,identity等
        // 此方法用于向DIContainer中注入需要的service服务
        public void ConfigureServices(IServiceCollection services)
        {
        }
        // 定义一些中间件(middleware),可以扩展几个参数,比如env,loggerFactory等
        public void Configure(IApplicationBuilder app[, IHostingEnvironment env, ILoggerFactory loggerFactory])
        {
        }
    }
    

    Services

    可以理解为是一个个的组件,用于为应用程序提供消费。aspnet core中自带了IOC 容器,默认是支持构造函数注入方式。其实你也可以更换为自己熟悉的DI container,比如Autofac等。

    Middleware

    中间件。主要是用于处理管道请求。比如增加IP请求记录、权限判定、日志记录等等;可以灵活地控制是否继续向下传递请求,还是直接拦截返回。
    一般是在Startup.Configure方法中,使用“UseXXX”的方式调用一个基于IApplicationBuilder的扩展方法。
    比如:

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        // the others 
        app.UseStaticFiles();
        app.UseIdentity();
        app.UseMvc(routes =>
                {
                    routes.MapRoute(
                        name: "default",
                        template: "{controller=Home}/{action=Index}/{id?}");
                });
    }
    

    如果自定义自己的middleware,需要特别注意的就是两个点,一个是请求代理的传递requestDelegate;一个是定义个基于HttpContext上下文的Invoke方法;
    然后一个基于IApplicationBuilder的静态扩展方法,用UseMiddleware<T>()注册进去即可。

    Servers

    asp.net core提供了除了基于IIS之外的跨平台服务功能,比如kestrel.如果是在IIS中运行,需要安装一个基于IIS的扩展模块“HttpPlatformHandler”(IIS7.5+);
    其实,asp.netcore本身并不处理请求,它只是转发请求。然后由处理的应用程序组合成一个httpcontext。

    The HttpPlatformHandler is a new component that connects IIS with your ASP.NET Core application. You can get that from the following download links.

    Configuration

    Asp.Net Core使用的是一个新的配置模型来处理KV键值对。新的配置模型既不是基于System.Configuration也不是基于我们熟悉的web.config;
    而是一组命令提供者(providers),内建的配置提供者,支持很多格式(比如json,xml,ini),并且支持环境变量参数;同样你可以定义你自己的配置提供者。

    Environments

    环境,其实像我们常说的“开发环境Development”、“正式环境Production”.可以根据设置的环境变量值不同,而灵活地选择对应的配置。
    在VS2015中,创建项目时,默认会配置一个有关于环境的变量“ASPNETCORE_ENVIRONMENT”,同时,默认被指定为了“Development”;你可以从项目属性中,找到“调试”Tab,里面就可以看到。
    你可以以这种方式配置,也可以配置成系统级别的环境变量(比如windows下增加环境变量、其他系统也如是)

    Working with Multiple Environments

    TODO

    Build web UI and web APIs using ASP.NET Core MVC

    • MVC
    • Razor
    • Tag Helpers
    • Model Validation
    • Formatting Response Data.json,xml

    Client-Side Development

    • AngularJS
    • Bootstrap
    • Backbone
    • KnockoutJS

    参考

    官方https://docs.asp.net/en/latest/intro.html

    lession 2 利用VS2015开发项目 ( 下一篇学习笔记)

  • 相关阅读:
    teamviewer被识别为商用的解决办法
    PLY调试笔记——待解决的问题
    python中的反射
    类的继承顺序
    面向对象---继承
    类成名和命名空间
    面向对象编程
    模块的初始
    装饰器
    列表推导式,生成器
  • 原文地址:https://www.cnblogs.com/hager/p/5819069.html
Copyright © 2020-2023  润新知