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 ...
随机推荐
- [转载] 一致性hash算法释义
转载自http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html 一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Ka ...
- python进阶------进程线程(三)
python中的进程 1.multiprocessing模块 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进 ...
- centos安装maven,git,mysql
安装maven1:下载maven包:http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bi ...
- 基础拾遗----RabbitMQ(含封装类库源码)
基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗----- ...
- centos搭建java web服务器
1.安装jdk7 //检查jdk是否已经安装 [root@iZwz9catu2mrq92b07d1d0Z ~]# yum list installed | grep java java--openjd ...
- 实验:ignite查询效率探究
前面的文章讲到ignite支持扫描查询和sql查询,其sql查询是ignite产品的一个亮点,那么哪一种的查询更适合我们的产品使用呢,往下看: 先分别贴一下扫描查询和sql查询两种查询方式的代码,供参 ...
- 纯Socket(BIO)长链接编程的常见的坑和填坑套路
本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了 ...
- EntityFramework For Mysql 动态切换数据源
1.简介 在工作中遇到一个问题.项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库.其实就是动态切换数据库连接. 2.EntityFramework For Mysql 先来简单的介 ...
- 2017上半年技术文章集合【Android】—184篇文章分类汇总
地址: http://blog.csdn.net/androidstarjack/article/details/77923753 声明 | 本文是于亚豪 原创 终端研发部 前言: 2017年已经过大 ...
- ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇
ShoneSharp语言(S#)的设计和使用介绍 系列(1)- 开篇 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 一 ...