您的位置:首页 > 其它

ZKWeb网页框架2.0正式发布

2017-09-19 12:13 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: