ZKWeb网页框架2.0正式发布
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正式发布的更多相关文章
- ZKWeb网页框架3.0正式发布
3.0 更新的内容有 更新 .NET 框架 替换项目模版的 netcoreapp2.2 到 netcoreapp3.0 目前支持的 .NET 框架有: net461, netcoreapp2.0, n ...
- 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 ...
- ZKWeb网页框架1.6正式发布
1.6.0更新的内容有 Dapper改进 更换Dapper.Contrib到Dommel 支持自定义列名的设置 支持忽略未映射的成员 支持插入Guid类型到MySQL数据库 支持JSON序列化类型 遇 ...
- ZKWeb网页框架1.5正式发布
本次更新的内容有 明显的改进了IoC容器在部分情况下的性能, 当前的性能和Grace, DryIoC同等 添加IHttpResquestHandlerWrapper接口让重载Http上下文更容易 添加 ...
- ZKWeb网页框架2.2正式发布
2.2.0更新的内容有 重构依赖注入容器 使用无锁算法 (可能导致不兼容) 使用 ContainerFactoryData 创建实例 (可能导致不兼容) 删除静态的 ContainerFactoryC ...
- ZKWeb网页框架1.8正式发布
1.8.0更新的内容有 破坏性更新 更新ZKWeb.System.Drawing到3.0.0 请修改源代码中的System.Drawing到System.DrawingCore 现在已经不再需要使用D ...
- ZKWeb网页框架1.2正式发布
发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.2.md 主要改动 更新 ZK ...
- ZKWeb网页框架1.1正式发布
发行日志 https://github.com/zkweb-framework/ZKWeb/blob/master/ReleaseNotes/ReleaseNote.1.1.md 主要改动 添加EFC ...
- ZKWeb网页框架1.9正式发布
1.9.0更新的内容有 更新项目工具 更好的支持Linux 添加工具函数 Exception.ToDetailedString (获取例外的详细信息) Exception.ToSummaryStrin ...
随机推荐
- 洛谷 P3384 【模板】树链剖分
树链剖分 将一棵树的每个节点到它所有子节点中子树和(所包含的点的个数)最大的那个子节点的这条边标记为"重边". 将其他的边标记为"轻边". 若果一个非根节点的子 ...
- Linux系列教程(二十二)——Linux的bash变量
上篇博客我们介绍了bash的一些基本功能,这是我们平时操作最频繁的.本篇博客我们介绍bash的变量,为后面编写shell脚本做铺垫. 1.什么是变量 变量是计算机内存的单元,其中存放的值可以改变. 当 ...
- 一款很便捷很实用的框架——vue.js
Hello,大家好!今天给大家带来一款十分好用的框架--vue.js! Vue.js是一套构建用户界面的渐进式框架.它 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 ...
- JAVA提高十三:Hashtable&Properties深入分析
最近因为一些琐碎的事情,导致一直没时间写博客,正好今天需求开发完的早,所以趁早写下本文,本文主要学习的是Hashtable的分析,因为上面一篇文章研究的是HashMap,而Hashtable和Hash ...
- [最短路]P1462 通往奥格瑞玛的道路
题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目描述 在艾泽拉斯, ...
- 【smart-transform】取自 Atom 的 babeljs/coffeescript/typescript 智能转 es5 库
简介 有时间研究下开源库的源码,总是会有些收获的.注意到 Atom 插件编写时,可以直接使用 babel, coffeescript 或者 typescript.有些诧异,毕竟 Electron 中内 ...
- Ceph编译安装教程
Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...
- 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 ...
- win下搭建python3+PyQt5+eric6环境
一.安装python3 1.下载python3的安装包,默认安装即可,注意勾选 Add Python 3.6 to Path .但是这样默认安装的路径太长,不太方便找到,可选择定制安装,自己定义安装路 ...
- java自动生成entity文件
网上关于自动生成entity文件的代码很多,看了很多代码后,在先辈们的基础上再完善一些功能(指定多个表,全部表). 为了使用方便所以把两个类写在一个java文件中,所以大家可以直接拿这个java文件, ...