ZKWeb网页框架2.2正式发布

时间:2022-06-09 16:22:24

2.2.0更新的内容有

  • 重构依赖注入容器
    • 使用无锁算法
    • (可能导致不兼容) 使用 ContainerFactoryData 创建实例
    • (可能导致不兼容) 删除静态的 ContainerFactoryCache 简化代码
    • (可能导致不兼容) 更新接口 IMultiConstructorResolver
    • (可能导致不兼容) 更新接口 IRegistrator
  • 更新 Web服务器
    • (可能导致不兼容) 不再要求使用异常表示请求结束
      • 不再保证 HttpManager.CurrentContext.Response.End 会抛出异常
      • 检查请求是否结束可以读取 HttpManager.CurrentContext.Response.IsEnded 属性
  • 更新测试
    • 添加更多的函数到 Assert 类
    • 移动测试到单独的程序集,不再随框架发布
    • 改进测试失败时的提示信息
    • 添加 Scenario 类用于支持 BDD 风格的测试
    • 重写部分测试到 BDD 风格
  • 更新帮助类
    • 在 RandomUtils 类中使用线程本地随机生成器防止多线程导致的问题
    • 在 MemoryCache 类使用无锁数据结构
    • 在 LazyCache 类使用内存屏障
    • 从 SimpleDisposable 类删除析构函数
  • 更新项目模板
    • 使得项目模板可以原地更新依赖
    • 修改 ASP.NET Core 模板基于 .NET Core 2.2
  • 更新 ORM
    • 针对 NHibernate 重新使用官方的 System.Data.SQLite,因为添加了 .NET Core 支持
  • 更新依赖包
    • Microsoft.CodeAnalysis.CSharp 2.10.0
    • Newtonsoft.Json 12.0.1
    • System.Drawing.Common 4.5.1
    • Microsoft.DiaSymReader.PortablePdb 1.5.0
    • Microsoft.AspNetCore.Hosting.Abstractions 2.2.0
    • Microsoft.AspNetCore.Http.Abstractions 2.2.0
    • Microsoft.Extensions.DependencyInjection 2.2.0
    • Microsoft.Extensions.DependencyInjection.Abstractions 2.2.0
    • System.Net.Http 4.3.4
    • Dapper.FluentMap 1.7.0
    • Dapper.FluentMap.Dommel 1.6.0
    • Microsoft.Data.Sqlite 2.2.0
    • Npgsql 4.0.3
    • MySqlConnector 0.47.1
    • Microsoft.EntityFrameworkCore 2.2.0
    • Microsoft.EntityFrameworkCore.Design 2.2.0
    • Microsoft.EntityFrameworkCore.InMemory 2.2.0
    • Microsoft.EntityFrameworkCore.Sqlite 2.2.0
    • Microsoft.EntityFrameworkCore.SqlServer 2.2.0
    • Npgsql.EntityFrameworkCore.PostgreSQL 2.1.2
    • Pomelo.EntityFrameworkCore.MySql 2.1.4
    • MongoDB.Driver 2.7.2
    • NHibernate 5.2.0
    • MySql.Data 6.10.8
    • System.Data.SQLite 1.0.109.2

因为最近几个月时间比较少,上个版本承诺的功能 (EFCore懒加载,APM对接) 这个版本仍然没有实现,并且部分 Asp.NET 与 Owin 的项目模板仍然停留在 2.0.0 的状态,明年二月之后会有更多的时间,希望到时候可以发力准备 ZKWeb 3.0 的更新。