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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM