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 的更新。sql