2.0.0更新的内容有

  • 更新框架要求

    • 框架要求从 netstandard 1.6 升到 netstandard 2.0
    • 框架要求从 netcoreapp1.1 升到 netcoreapp2.0
  • 更新引用类库
    • Microsoft.AspNetCore.Hosting.Abstractions 2.0.0
    • Microsoft.AspNetCore.Http.Abstractions 2.0.0
    • Microsoft.Extensions.DependencyInjection 2.0.0
    • Microsoft.Extensions.DependencyInjection.Abstractions 2.0.0
    • Microsoft.Extensions.DependencyModel 2.0.0
    • Microsoft.Data.Sqlite 2.0.0
    • Npgsql 3.2.5
    • Microsoft.EntityFrameworkCore 2.0.0
    • Microsoft.EntityFrameworkCore.Design 2.0.0
    • Microsoft.EntityFrameworkCore.InMemory 2.0.0
    • Microsoft.EntityFrameworkCore.Sqlite 2.0.0
    • Microsoft.EntityFrameworkCore.SqlServer 2.0.0
    • Npgsql.EntityFrameworkCore.PostgreSQL 2.0.0
    • Pomelo.EntityFrameworkCore.MySql 2.0.0
    • MongoDB.Driver 2.4.4
    • ZKWeb.Repack.SQLite 1.0.104
    • Microsoft.CSharp 4.4.0
    • Microsoft.CodeAnalysis.CSharp 2.3.0
    • Newtonsoft.Json 10.0.3
    • ZKWeb.Fork.DotLiquid 2.3.0
    • ZKWeb.Fork.FastReflection 2.3.0
    • Dommel 1.9.0
    • Dapper.FluentMap 1.6.0
    • Dapper.FluentMap.Dommel 1.5.0
    • 删除NSubstitute
  • 改进IoC容器
    • 支持区域(Scoped)重用
    • 支持注册开放泛型(注册Implement<>Service<>)
    • 支持从IServiceCollection注册服务
    • 提供IServiceProvider接口
    • 改变选择构造函数的规则
      • 首先, 使用标记了[Inject]的构造函数
      • 然后, 使用唯一的公开的构造函数
      • 最后, 使用IMultiConstructorResolver在运行时解决, 如果解决失败则抛出异常
    • 改变注入构造函数的规则
      • 支持注入Func<T>
      • 支持注入Lazy<T>
      • 支持注入List<T>, ICollection<T>, IEnumerable<T>
      • 支持注入Lazy<List<T>>, Func<List<T>> 等等
      • 如果参数有默认值, 则解决失败时使用默认值, 否则解决失败时抛出异常
  • 在Asp.Net Core项目中默认使用ZKWeb的IoC容器替换默认的IServiceProvider
    • 目前Asp.Net Core和ZKWeb注册的服务已可以共通互联
  • 改进控制器和路由
    • 遵从控制器注册时使用的重用规则, 在之前的版本控制器会是单例
    • 支持手动重载请求参数, 设置Request.CustomParameters可以影响获取当前请求参数的值
    • 支持Url参数, 例如[Action("get/{id}")]
  • 改进ORM
    • 支持在构建数据库上下文时手动传入实体类型列表, 在一个项目使用多个数据库上下文时可以用到
    • 添加EFCoreDatabaseContextPool, 改进EFCore数据库上下文的创建性能
    • 在NHibernate保存实体失败时取消对该实体的跟踪, 防止影响后面的保存

本次更新要求.Net Standard 2.0, 旧版本的项目需要先修改框架目标再使用nuget升级.
本次更新删除了NSubstitute的引用, 如果原有插件有使用NSubstitute请手动安装到web项目.

因为NHibernate官方尚未发布.Net Core版本, 这一个版本的NHibernate仍然只能用在.Net Framework上, 下个版本会争取让使用NHibernate的代码支持.Net Core.

此外, ZKWeb 2.0重写了文档, 新的文档可以在以下地址查看:

http://zkweb-framework.github.io

ZKWeb网页框架2.0正式发布的更多相关文章

  1. ZKWeb网页框架3.0正式发布

    3.0 更新的内容有 更新 .NET 框架 替换项目模版的 netcoreapp2.2 到 netcoreapp3.0 目前支持的 .NET 框架有: net461, netcoreapp2.0, n ...

  2. ZKWeb网页框架2.1正式发布

    2.1.0更新的内容有 更新引用类库 NHibernate 5.1.0 Npgsql 3.2.7 MySqlConnector 0.37.0 Dapper 1.50.4 Dommel 1.10.1 Z ...

  3. ZKWeb网页框架1.6正式发布

    1.6.0更新的内容有 Dapper改进 更换Dapper.Contrib到Dommel 支持自定义列名的设置 支持忽略未映射的成员 支持插入Guid类型到MySQL数据库 支持JSON序列化类型 遇 ...

  4. ZKWeb网页框架1.5正式发布

    本次更新的内容有 明显的改进了IoC容器在部分情况下的性能, 当前的性能和Grace, DryIoC同等 添加IHttpResquestHandlerWrapper接口让重载Http上下文更容易 添加 ...

  5. ZKWeb网页框架2.2正式发布

    2.2.0更新的内容有 重构依赖注入容器 使用无锁算法 (可能导致不兼容) 使用 ContainerFactoryData 创建实例 (可能导致不兼容) 删除静态的 ContainerFactoryC ...

  6. ZKWeb网页框架1.8正式发布

    1.8.0更新的内容有 破坏性更新 更新ZKWeb.System.Drawing到3.0.0 请修改源代码中的System.Drawing到System.DrawingCore 现在已经不再需要使用D ...

  7. ZKWeb网页框架1.2正式发布

    发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.2.md 主要改动 更新 ZK ...

  8. ZKWeb网页框架1.1正式发布

    发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.1.md 主要改动 添加EFC ...

  9. ZKWeb网页框架1.9正式发布

    1.9.0更新的内容有 更新项目工具 更好的支持Linux 添加工具函数 Exception.ToDetailedString (获取例外的详细信息) Exception.ToSummaryStrin ...

随机推荐

  1. 洛谷 P3384 【模板】树链剖分

    树链剖分 将一棵树的每个节点到它所有子节点中子树和(所包含的点的个数)最大的那个子节点的这条边标记为"重边". 将其他的边标记为"轻边". 若果一个非根节点的子 ...

  2. Linux系列教程(二十二)——Linux的bash变量

    上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...

  3. 一款很便捷很实用的框架——vue.js

    Hello,大家好!今天给大家带来一款十分好用的框架--vue.js! Vue.js是一套构建用户界面的渐进式框架.它 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 ...

  4. JAVA提高十三:Hashtable&Properties深入分析

    最近因为一些琐碎的事情,导致一直没时间写博客,正好今天需求开发完的早,所以趁早写下本文,本文主要学习的是Hashtable的分析,因为上面一篇文章研究的是HashMap,而Hashtable和Hash ...

  5. [最短路]P1462 通往奥格瑞玛的道路

    题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯, ...

  6. 【smart-transform】取自 Atom 的 babeljs/coffeescript/typescript 智能转 es5 库

    简介 有时间研究下开源库的源码,总是会有些收获的.注意到 Atom 插件编写时,可以直接使用 babel, coffeescript 或者 typescript.有些诧异,毕竟 Electron 中内 ...

  7. Ceph编译安装教程

    Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...

  8. This package contains perl-5.16.3, java8, nifi-1.1.2 on ubuntu:14.04

    [How to build:]cd /home/ops/work/demo/docker/aws/srctouch Dockerfiledocker build -t aws_src_image:v1 ...

  9. win下搭建python3+PyQt5+eric6环境

    一.安装python3 1.下载python3的安装包,默认安装即可,注意勾选 Add Python 3.6 to Path .但是这样默认安装的路径太长,不太方便找到,可选择定制安装,自己定义安装路 ...

  10. java自动生成entity文件

    网上关于自动生成entity文件的代码很多,看了很多代码后,在先辈们的基础上再完善一些功能(指定多个表,全部表). 为了使用方便所以把两个类写在一个java文件中,所以大家可以直接拿这个java文件, ...