https://github.com/cocosip/DotCommon
a c# common util libaray
https://github.com/cocosip/DotCommon
csharp netstandard utils
Last synced: about 1 year ago
JSON representation
a c# common util libaray
- Host: GitHub
- URL: https://github.com/cocosip/DotCommon
- Owner: cocosip
- License: mit
- Created: 2017-04-10T11:54:29.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T09:24:16.000Z (about 1 year ago)
- Last Synced: 2025-04-21T10:22:28.034Z (about 1 year ago)
- Topics: csharp, netstandard, utils
- Language: C#
- Homepage:
- Size: 1.67 MB
- Stars: 17
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DotCommon使用说明
[](https://996.icu) [](https://github.com/cocosip/DotCommon/blob/master/LICENSE)  
[](https://github.com/cocosip/DotCommon/actions/workflows/publish.yml)
| Package | Version | Downloads|
| -------- | ------- | -------- |
| `DotCommon` | [](https://www.nuget.org/packages/DotCommon) ||
| `DotCommon.AutoMapper` | [](https://www.nuget.org/packages/DotCommon.AutoMapper) ||
| `DotCommon.Caching` | [](https://www.nuget.org/packages/DotCommon.Caching) ||
| `DotCommon.Json4Net` | [](https://www.nuget.org/packages/DotCommon.Json4Net) ||
| `DotCommon.TextJson` | [](https://www.nuget.org/packages/DotCommon.TextJson) ||
| `DotCommon.Log4Net` | [](https://www.nuget.org/packages/DotCommon.Log4Net) ||
| `DotCommon.ProtoBuf` | [](https://www.nuget.org/packages/DotCommon.ProtoBuf) ||
| `DotCommon.AspNetCore.Mvc` | [](https://www.nuget.org/packages/DotCommon.AspNetCore.Mvc) ||
| `DotCommon.ImageUtility` | [](https://www.nuget.org/packages/DotCommon.ImageUtility) ||
| `DotCommon.ImageResizer.AspNetCore.Mvc` | [](https://www.nuget.org/packages/DotCommon.ImageResizer.AspNetCore.Mvc) ||
## DotCommon简介
> DotCommon是一个 `C#` 开发的工具类库,封装了一些基本功能,能够使用该工具类库快速的进行开发项目。里面封装了很多基础的功能,如:`Json,Xml,Binary` 序列化, 依赖注入, 日志功能, 定时器, `MD5,Rsa,Base64,Aes,Des`加密解密, 拼音, 进制转换, 模拟请求, 路径转换 等功能。
## 安装
> PM> `Install-Package DotCommon`
## 初始化
```c#
services.AddLogging(c =>
{
c.AddLog4Net(new Log4NetProviderOptions());
})
.AddCommonComponents()
.AddGenericsMemoryCache()
.AddProtoBuf()
.AddJson4Net();
```
## 扩展包
- **Autofac依赖注入扩展包:** `DotCommon.Autofac`
- **缓存扩展包** `DotCommon.Caching`
- **AutoMapper自动映射扩展包** `DotCommon.AutoMapper`
- **Json4Net序列化扩展包** `DotCommon.Json4Net`
- **Log4Net日志扩展包** `DotCommon.Log4Net`
- **ProtoBuf二进制序列化扩展包** `DotCommon.ProtoBuf`
- **AspNetCore扩展** `DotCommon.AspNetCore.Mvc`
- **ImageUtility图片扩展** `DotCommon.ImageUtility`
- **ImageResizer图片缩放(Asp.Net Core)** `DotCommon.ImageResizer.AspNetCore.Mvc`
### 扩展包使用说明
- `缓存扩展`
```c#
IServiceCollection services = new ServiceCollection();
services
.AddDotCommon()
.AddGenericsMemoryCache();
var provider = services.BuildServiceProvider();
//获取缓存管理器
var personCache = provider.GetRequiredService>();
//根据key值获取缓存
var cacheItem = await personCache.GetAsync("key1");
//设置缓存
await personCache.SetAsync("key2", cacheItem);
```
> 配置缓存是基于内存:
```c#
services.AddGenericsMemoryCache();
```
- `AutoMapper`对象映射扩展。`DotCommon.AutoMapper`扩展中定义了一些进行快速映射的属性,在类上面添加了这些自动映射属性,并且初始化后,就能直接进行映射使用。
> 初始化自动映射:
```c#
//需要进行自动映射的程序集
var assemblies=new List();
IServiceCollection services = new ServiceCollection();
services
.AddDotCommon()
.AddDotCommonAutoMapper()
.AddAssemblyAutoMaps(assemblies.ToArray())
.AddAutoMapperConfigurator(c =>
{
//自定义的一些AutoMapper配置
})
.BuildAutoMapper();
var provider = services.BuildServiceProvider();
```
## 数据库参数与字段说明
> 数据库参数与字段说明 [详见](/docs/database.md)