IMEX.CORE
1.0.2.11
dotnet add package IMEX.CORE --version 1.0.2.11
NuGet\Install-Package IMEX.CORE -Version 1.0.2.11
<PackageReference Include="IMEX.CORE" Version="1.0.2.11" />
paket add IMEX.CORE --version 1.0.2.11
#r "nuget: IMEX.CORE, 1.0.2.11"
// Install IMEX.CORE as a Cake Addin #addin nuget:?package=IMEX.CORE&version=1.0.2.11 // Install IMEX.CORE as a Cake Tool #tool nuget:?package=IMEX.CORE&version=1.0.2.11
IMEX.CORE
Giới thiệu
IMEX.CORE là một dự án phần mềm mạnh mẽ được xây dựng trên nền tảng .NET Core, cung cấp các chức năng quản lý cơ sở dữ liệu, xử lý log, mã hóa dữ liệu, và quản lý quyền truy cập hiệu quả. Dự án được thiết kế để hỗ trợ phát triển các ứng dụng web hiện đại với tính mở rộng cao và hiệu suất tốt.
Tính năng
Quản lý Logging: Hỗ trợ ghi log đồng thời, dễ dàng cấu hình và mở rộng với nhiều loại log khác nhau như AOPLogEx, RequestIpInfoLog, RecordAccessLogs, SqlLog, và RequestResponseLog.
Xử lý File: Cung cấp các tiện ích để đọc, ghi, xóa, sao chép, và lưu files một cách dễ dàng và an toàn.
Migration Database: Hỗ trợ migration cơ sở dữ liệu và seeding dữ liệu tự động, đảm bảo cấu trúc dữ liệu luôn cập nhật.
API Response: Cấu trúc trả về API linh hoạt với các mã trạng thái và thông báo chi tiết, giúp dễ dàng quản lý và xử lý phản hồi.
Chuyển đổi số và ký tự: Các công cụ chuyển đổi số thành chữ bằng tiếng Việt, mã hex và Unicode, hỗ trợ đa dạng hóa xử lý dữ liệu.
Quản lý Quyền Truy Cập: Hệ thống quản lý quyền truy cập linh hoạt, sử dụng phép toán bit để xác định quyền hạn của người dùng.
Bảo Mật: Triển khai các phương thức mã hóa và giải mã dữ liệu an toàn với RSA và SM4, đảm bảo bảo mật thông tin truyền tải.
Kết nối database sử dụng SqlSugar ORM: Cấu hình kết nối trong file appsetting.json.
"MainDB": "DB_Main",// Db chính có ConnId = DB_Main "MultiDBEnabled": true, "DBConnections": [ { "ConnId": "configID", "DBType": 1, "Enable": true, "HitRate": 50, "ConnectionStr": "Data Source=(localdb);Initial Catalog=WMBLOG_MSSQL_2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "ProviderName": "System.Data.SqlClient", "Slaves": [ { "HitRate": 0, //Độ ưu tiên,giá trị càng cao thì độ ưu tiên càng cao, nếu = 0 thì không sử dụng "Connection": "Data Source=MSSQLLocalDB;Initial Catalog=WMBLOG_MSSQL_2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" } ] }]
Cài đặt và Cấu hình
Yêu cầu
- .NET SDK phiên bản 8.0 hoặc cao hơn.
- Hệ điều hành Windows, macOS hoặc Linux.
Cài đặt
GET nuget
NuGet\Install-Package IMEX.CORE -Version 1.0.2.10 paket add IMEX.CORE --version 1.0.2.10
Cấu hình
Các cấu hình cần thiết được lưu trữ trong các file cấu hình như appsettings.json
. Đảm bảo thiết lập đúng các mục như kết nối database, cấu hình log, và các thiết lập API.
Sử dụng
Dự án cung cấp các lớp helper và extension để dễ dàng tích hợp vào các phần khác của ứng dụng. Một số tính năng chính bao gồm:
- Logging: Sử dụng
LogHelper
để ghi log với các cấp độ khác nhau. - File Handling: Sử dụng
FileHelper
để quản lý các thao tác file như đọc, ghi, xóa, và sao chép. - Database Migration: Sử dụng
MigrationDB
để thực hiện các thao tác migration và seeding dữ liệu. - API Response: Sử dụng
ApiResponse
vàMessageModel
để chuẩn hóa phản hồi từ API. - Quản lý Quyền: Định nghĩa và kiểm tra quyền truy cập thông qua các lớp trong
Core/Global
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- BouncyCastle.Cryptography (>= 2.5.0)
- K4os.Compression.LZ4 (>= 1.3.8)
- K4os.Compression.LZ4.Streams (>= 1.3.8)
- Mapster (>= 7.4.0)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.11)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.Configuration.Json (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.3.0)
- MiniProfiler.Shared (>= 4.5.4)
- Serilog (>= 4.2.0)
- Serilog.AspNetCore (>= 9.0.0)
- Serilog.Expressions (>= 5.0.0)
- Serilog.Sinks.Async (>= 2.1.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Serilog.Sinks.Elasticsearch (>= 10.0.0)
- Serilog.Sinks.File (>= 6.0.0)
- SnowflakeId.AutoRegister (>= 1.0.4)
- SnowflakeId.AutoRegister.SqlServer (>= 1.0.5)
- SnowflakeId.AutoRegister.StackExchangeRedis (>= 1.0.2)
- SqlSugarCore (>= 5.1.4.172)
- StackExchange.Redis (>= 2.8.24)
- Yitter.IdGenerator (>= 1.0.14)
-
net9.0
- BouncyCastle.Cryptography (>= 2.5.0)
- K4os.Compression.LZ4 (>= 1.3.8)
- K4os.Compression.LZ4.Streams (>= 1.3.8)
- Mapster (>= 7.4.0)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.11)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 9.0.0)
- Microsoft.Extensions.Configuration.Json (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.3.0)
- MiniProfiler.Shared (>= 4.5.4)
- Serilog (>= 4.2.0)
- Serilog.AspNetCore (>= 9.0.0)
- Serilog.Expressions (>= 5.0.0)
- Serilog.Sinks.Async (>= 2.1.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Serilog.Sinks.Elasticsearch (>= 10.0.0)
- Serilog.Sinks.File (>= 6.0.0)
- SnowflakeId.AutoRegister (>= 1.0.4)
- SnowflakeId.AutoRegister.SqlServer (>= 1.0.5)
- SnowflakeId.AutoRegister.StackExchangeRedis (>= 1.0.2)
- SqlSugarCore (>= 5.1.4.172)
- StackExchange.Redis (>= 2.8.24)
- Yitter.IdGenerator (>= 1.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.0.2.11 | 81 | 1/10/2025 | |
1.0.2.10 | 76 | 1/10/2025 | |
1.0.2.8 | 87 | 12/30/2024 | |
1.0.2.7 | 109 | 12/14/2024 | |
1.0.1.78 | 98 | 10/25/2024 | |
1.0.1.77 | 77 | 10/22/2024 | |
1.0.1.75 | 149 | 10/18/2024 | |
1.0.1.74 | 139 | 9/16/2024 | |
1.0.1.72 | 136 | 9/9/2024 | |
1.0.1.71 | 127 | 9/8/2024 | |
1.0.1.70 | 108 | 9/6/2024 | |
1.0.1.69 | 132 | 9/6/2024 | |
1.0.1.68 | 113 | 9/4/2024 | |
1.0.1.64 | 140 | 8/22/2024 | |
1.0.1.62 | 135 | 8/20/2024 | |
1.0.1.61 | 131 | 8/17/2024 | |
1.0.1.60 | 112 | 8/15/2024 | |
1.0.1.59 | 132 | 8/12/2024 | |
1.0.1.57 | 126 | 7/18/2024 | |
1.0.1.56 | 129 | 7/8/2024 | |
1.0.1.55 | 123 | 6/20/2024 | |
1.0.1.54 | 92 | 6/12/2024 | |
1.0.1.52 | 100 | 6/11/2024 | |
1.0.1.50 | 109 | 6/11/2024 | |
1.0.1.49 | 124 | 5/23/2024 | |
1.0.1.48 | 125 | 5/22/2024 | |
1.0.1.46 | 136 | 5/9/2024 | |
1.0.1.45 | 115 | 5/9/2024 | |
1.0.1.44 | 132 | 4/22/2024 | |
1.0.1.43 | 126 | 4/19/2024 | |
1.0.1.42 | 122 | 4/19/2024 | |
1.0.1.36 | 118 | 4/19/2024 | |
1.0.1.35 | 136 | 4/7/2024 | |
1.0.1.34 | 109 | 2/28/2024 | |
1.0.1.32 | 184 | 1/31/2024 | |
1.0.1.31 | 136 | 1/22/2024 | |
1.0.1.30 | 133 | 1/16/2024 | |
1.0.1.28 | 116 | 1/15/2024 | |
1.0.1.27 | 165 | 1/8/2024 | |
1.0.1.26 | 166 | 1/2/2024 | |
1.0.1.25 | 144 | 1/2/2024 | |
1.0.1.24 | 152 | 12/26/2023 | |
1.0.1.23 | 171 | 12/4/2023 | |
1.0.1.22 | 147 | 11/29/2023 | |
1.0.1.21 | 155 | 11/25/2023 | |
1.0.1.19 | 145 | 11/22/2023 | |
1.0.1.18 | 136 | 11/22/2023 | |
1.0.1.15 | 147 | 11/16/2023 | |
1.0.1.14 | 145 | 11/16/2023 | |
1.0.1.10 | 136 | 11/14/2023 | |
1.0.1.9 | 144 | 11/9/2023 | |
1.0.1.8 | 125 | 11/6/2023 | |
1.0.1.7 | 138 | 11/3/2023 | |
1.0.1.6 | 121 | 11/3/2023 | |
1.0.1.4 | 136 | 11/2/2023 | |
1.0.1.3 | 134 | 11/1/2023 | |
1.0.1.1 | 149 | 10/30/2023 |