• 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

  • 相关阅读:
    【基础】jquery全选、反选、全不选代码
    【基础】jquery全选、反选、全不选代码
    收集一些程序员励志经典名言
    收集一些程序员励志经典名言
    收集一些程序员励志经典名言
    防止表单重复提交的解决方案整理
    Git使用教程
    2019牛客暑期多校训练营(第二场)J Subarray
    Hibernate-配置
    与项目欧拉速度比较:C vs Python与Erlang vs Haskell
  • 原文地址:https://www.cnblogs.com/zkweb/p/7551167.html
Copyright © 2020-2023  润新知