O24Platform 2.2.15

dotnet add package O24Platform --version 2.2.15
                    
NuGet\Install-Package O24Platform -Version 2.2.15
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="O24Platform" Version="2.2.15" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="O24Platform" Version="2.2.15" />
                    
Directory.Packages.props
<PackageReference Include="O24Platform" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add O24Platform --version 2.2.15
                    
#r "nuget: O24Platform, 2.2.15"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package O24Platform@2.2.15
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=O24Platform&version=2.2.15
                    
Install as a Cake Addin
#tool nuget:?package=O24Platform&version=2.2.15
                    
Install as a Cake Tool

O24Platform

Nền tảng thư viện dùng chung cho các dự án O24 — hỗ trợ Open API, workflow, queue (RabbitMQ), migration đa database, logging và tích hợp microservice.

Cài đặt

dotnet add package O24Platform

Cấu hình nhanh

Thêm section O24OpenAPIConfiguration vào App_Data/appsettings.json (hoặc secret store tương ứng):

"O24OpenAPIConfiguration": {
  "YourServiceID": "MS1",
  "IsMicroservice": true,
  "ConnectToWFO": true,
  "WFOGrpcURL": "https://wfo.example.com",
  "YourGrpcURL": "https://your-service.example.com"
}
  • IsMicroservice = false: tắt queue, RabbitMQ event bus consumer và đăng ký WFO — phù hợp service standalone/API thuần.
  • IsMicroservice = true (mặc định): giữ hành vi microservice mesh như trước.

Release Notes

2.2.15 — 2026-07-23

Stored procedure workflow V2

  • Thêm ProcessNumber.StoredProcedureV2 (6).
  • O24OpenAPIServiceManager hỗ trợ luồng HandleStoredProcedureWorkflowV2 khi processing_version = StoredProcedureV2.
  • BaseQueue bổ sung CallStoredProcedureV2 và chuẩn hóa response data (snake_case) cho stored procedure V2.

2.2.14 — 2026-07-22

WorkContext scope

  • Thêm WorkContext.Scope / WorkContextTemplate.ScopeSetScope.
  • Thêm abstraction IScopeHandler để service tự implement xử lý scope.
  • O24OpenAPIServiceManager gọi IScopeHandler.HandleScope() trước khi execute workflow khi Scope có giá trị.

2.2.13 — 2026-07-22

CodeList CQRS / WorkflowStep

  • Thêm feature cho domain C_CODELIST (LinKit CQRS + [WorkflowStep]):
    • GET_CODE_LIST_BY_GROUP_AND_NAME
    • GET_CODE_LIST_BY_ID
    • CREATE_CODE_LIST
    • UPDATE_CODE_LIST
    • DELETE_CODE_LIST
  • Response dùng CodeListResponseModel; caption resolve theo Language qua CodeListUtils.

Platform WorkflowStepInvoker

  • Thêm O24Analyzer để gen WorkflowStepInvoker trong assembly O24Platform.
  • Đăng ký IWorkflowStepInvoker keyed "fw" cùng AddLinKitCqrs("fw") — service dùng platform có thể invoke step CodeList qua mediator key fw.

2.2.12 — 2026-07-21

Read/write database split (read replica)

  • Thêm cấu hình opt-in trên ConnectionStrings (DataConfig):
    • UseReadReplica: bật dùng read replica.
    • ReadConnectionString: connection string replica (decrypt giống ConnectionString).
    • Khi tắt hoặc thiếu read string → toàn bộ traffic vẫn đi primary (backward compatible).
  • IDataConnectionFactory hỗ trợ DbAccessMode (Write | Read):
    • Query dùng read khi replica được bật.
    • Trong transaction (command / TransactionBehavior) luôn force Write để đảm bảo read-your-writes.
  • BaseRepository tách connection theo thao tác:
    • Đọc (Table, Get*, Count, Search*) → Read.
    • Ghi (Insert / Update / Delete / bulk / audit) và mutate-by-query (WriteTable, WriteTableFilter) → Write.

Ví dụ cấu hình:

"ConnectionStrings": {
  "ConnectionString": "...",
  "ReadConnectionString": "...",
  "UseReadReplica": true
}

2.2.11 — 2026-07-20

Event Dispatching

  • Hỗ trợ tham số mediatorKey trong IEventDispatcher.DispatchAsyncLinKitEventDispatcher để resolve IMediator instance theo tên (hỗ trợ sử dụng multi-mediator).

2.2.10 — 2026-07-19

Multi-database execution trên ServiceDBContext

  • Bật đầy đủ EF Core provider cho SQL Server, PostgreSQL, MySQL/MariaDB và Oracle trong OnConfiguring (theo DataConfig.DataProvider / RDBMSType).
  • Thống nhất execute SQL, query, DML, paged query và stored procedure qua dialect helpers (SqlServer | PostgreSQL | MySql | Oracle):
    • Parameter prefix (@ / :), identifier quoting ([] / "" / `), LIKE concat.
    • Schema switch: USE / SET search_path / ALTER SESSION SET CURRENT_SCHEMA.
    • Workflow SP: EXEC / CALL / BEGIN … END với output parameter chung.
  • Thêm package Npgsql.EntityFrameworkCore.PostgreSQL, Pomelo.EntityFrameworkCore.MySql; cập nhật EF Core 9.0.1, MySqlConnector 2.4.0.

2.2.9 — 2026-07-19

Microservice opt-out

  • Thêm O24OpenAPIConfiguration.IsMicroservice (mặc định true) để xác định service có tham gia hệ thống microservice hay không.
  • Khi IsMicroservice = false:
    • Không khởi tạo QueueClient, không gọi WFO QueryServiceInfo, không chạy reconnect scheduler.
    • Không đăng ký RabbitMQEventBus consumer; dùng NoOpEventBus cho IEventBus.
    • Bỏ qua SyncProjectCodeAsyncInitializeMessageQueue.
    • Startup banner hiển thị Queue Status: DISABLED.

Bug fix

  • CodeListService.GetByGroupAndName: trả về thêm field MCaption trong kết quả phân trang.

2.2.8 — 2026-07-17

  • Bổ sung interface và implementation xử lý event.
  • Refactor quản lý domain events.

2.2.6 — 2026-07-16

  • Thêm ProjectCode vào O24OpenAPIConfiguration.
  • Đồng bộ project code từ WFO qua SyncProjectCodeAsync.

2.2.x (trước 2.2.6)

  • Chuẩn hóa pagination (PageIndex, offset) trên PagedListServiceDBContext.
  • RabbitMQ event bus với partition-based dispatch.
  • Data provider abstraction (SQL Server, Oracle, MySQL, PostgreSQL) và migration infrastructure.
  • Workflow step source generator, O24OpenAPIServiceManager, logging Serilog, schedule tasks.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on O24Platform:

Package Downloads
O24Kit

Bộ Kit cho O24OpenAPI (Keyvault, Signature, Models...)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.2.15 0 7/23/2026
2.2.14 39 7/22/2026
2.2.13 38 7/22/2026
2.2.12 41 7/21/2026
2.2.11 66 7/20/2026
2.2.10 52 7/19/2026
2.2.9 52 7/19/2026
2.2.8 52 7/17/2026
2.2.7 47 7/17/2026
2.2.6 59 7/17/2026
2.2.4 74 7/16/2026
2.2.3 46 7/15/2026
2.2.2 44 7/15/2026
2.2.1 53 7/15/2026
2.2.0 60 7/15/2026
2.1.9 49 7/14/2026
2.1.8 44 7/14/2026
2.1.7 110 7/10/2026
2.1.6 61 7/10/2026
Loading failed

2.2.15: Thêm ProcessNumber.StoredProcedureV2 và luồng gọi stored procedure V2 (BaseQueue.CallStoredProcedureV2 / HandleStoredProcedureWorkflowV2).