<p align="center">
<img src="docs/images/netpro2.png">
</p>
# NetPro [Pages](https://leonkou.github.io/NetPro/)
![.NET Core](https://github.com/LeonKou/NetPro/workflows/.NET%20Core/badge.svg)
### 🕰️ 活跃分支
* 👉[*dev_6.0* branch](https://github.com/LeonKou/NetPro/tree/dev_3.1)
## 简要
.NetpPro是一组独立中间件的类库统称,具有轻量级,依赖小,易用使用且高效。
在以往的开发中我们常常封装内置一堆组件作为框架进行使用,项目是否使用这些组件功能都将统统加载,组件无法插拔,往往都是集成度和依赖较高,导致新的学习成本,对于长期维护埋下了很大隐患;而不做封装又要面对杂乱的注入顺序和繁琐重复的的初始化逻辑,有没有办法既可以按需引用又可以避免这些初始化逻辑并且都能以各组件原生的方式调用,
NetPro就是为解决以上问题而创建。
所有组件在[/src/Library](https://github.com/LeonKou/NetPro/tree/dev_6.0/src/Library)路径下,每个组件已有详尽的使用说明文档README.md
组件可在任意项目中使用,不强依赖NetPro环境,支持按需引用,引用即自动初始化,免去各类中间件繁琐初始化操作,支持`net3.1` `net6.0`。NetPro项目在基于核心包`NetPro.Startup`基础上提供了其他周边常用中间件,其核心封装逻辑也是尽可能的暴露原生方法,不对开发人员产生过多不必要的学习成本。
基于`NetPro.Startup`的有两个关键插件包:
- `NetPro.Web.Api` 用于开发webapi项目
- `NetPro.Grpc` 用于开发grpc项目
其他的所有[NetPro](https://github.com/LeonKou/NetPro/tree/dev_6.0/src/Library)中间件都是可插拔,按需引用,每个组件都相对轻量,没有强关联NetPro,即使非.NetPro框架也可使用。如果基于`NetPro.Web.Api`或 `NetPro.Grpc`引用的NetPro中间件,支持引用即`自动执行`初始化逻辑。
### 架构图
<p align="center">
<img src="docs/images/netproinfo.png">
</p>
#### 提供的中间件包含不限于以下:
`FreeSql`,`Autofac` , `Automapper`,`apollo`,`App.Metrics`,
`CsRedisCore`,`StackExchange.Redis`,`Serilog`,
`MiniProfiler`,`FluentValidation`,`IdGen`,
`MongoDb`,`Dapper`,`RedLock.Net`,
`Sentry`,`RabbitMQ.Client`,`SkyAPM`,
`Swagger`,`WebApiClient.Core`,
`TimeZoneConverter`,`healthcheck`
`exceptionless`
### 使用
##### 各组件已发布Nuget包,可单独使用,如需插件化和自动执行初始化请使用`NetPro.Web.Api`或者`NetPro.Grpc`
##### 支持的组件
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Web.Api.svg)](https://nuget.org/packages/NetPro.Web.Api) [NetPro.Web.Api](https://github.com/LeonKou/NetPro.Web.Api) (NetPro.Web.Api)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.MQTTClient.svg)](https://nuget.org/packages/NetPro.MQTTClient) [NetPro.MQTTClient](https://github.com/LeonKou/NetPro.MQTTClient) (物联网MQTTClient客户端)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Globalization.svg)](https://nuget.org/packages/NetPro.Globalization) [NetPro.Globalization](https://github.com/LeonKou/NetPro.Globalization) (多语言全球化)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Cors.svg)](https://nuget.org/packages/NetPro.Cors) [NetPro.Cors](https://github.com/LeonKou/NetPro.Cors) (NetPro.Cors 跨域配置)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.ConsulClient.svg)](https://nuget.org/packages/NetPro.ConsulClient) [NetPro.ConsulClient](https://github.com/LeonKou/NetPro.ConsulClient) (NetPro.ConsulClient 服务注册发现组件,只需引用即可无需额外操作)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.TypeFinder.svg)](https://nuget.org/packages/NetPro.TypeFinder) [NetPro.TypeFinder](https://github.com/LeonKou/NetPro.TypeFinder) (dll检索,反射)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Utility.svg)](https://nuget.org/packages/NetPro.Utility) [NetPro.Utility](https://github.com/LeonKou/NetPro.Utility) (包含常用帮助类)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Authentication.svg)](https://nuget.org/packages/NetPro.Authentication) [NetPro.Authentication](https://github.com/LeonKou/NetPro.Authentication) (认证相关)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.EasyNetQ.svg)](https://nuget.org/packages/NetPro.EasyNetQ) [NetPro.EasyNetQ](https://github.com/LeonKou/NetPro.EasyNetQ) (EasyNetQ,支持多server)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Checker.svg)](https://nuget.org/packages/NetPro.Checker) [NetPro.Checker](https://github.com/LeonKou/NetPro.Checker) (组件健康检查)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.MongoDb.svg)](https://nuget.org/packages/NetPro.MongoDb ) [NetPro.MongoDb ](https://github.com/LeonKou/NetPro.MongoDb ) (mongodbi)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.CsRedis.svg)](https://nuget.org/packages/NetPro.CsRedis) [NetPro.CsRedis](https://github.com/LeonKou/NetPro.CsRedis) (redis推荐使用此组件;CsRedis分布式锁)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.RedisManager.svg)](https://nuget.org/packages/NetPro.RedisManager ) [NetPro.RedisManager ](https://github.com/LeonKou/NetPro.RedisManager ) (Redis组件,包含CsRedis,StackExchangeRedis,分布式锁)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Swagger.svg)](https://nuget.org/packages/NetPro.Swagger ) [NetPro.Swagger ](https://github.com/LeonKou/NetPro.Swagger ) (Swagger,包含认证,文件上传,公共参,个性主题)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Sign.svg)](https://nuget.org/packages/NetPro.Sign ) [NetPro.Sign ](https://github.com/LeonKou/NetPro.Sign ) (签名)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.ResponseCache.svg)](https://nuget.org/packages/NetPro.ResponseCache ) [NetPro.ResponseCache ](https://github.com/LeonKou/NetPro.ResponseCache ) (响应缓存)
- [![NuGet](https://img.shields.io/nuget/v/NetPro.Analysic.svg)](https://nuget.org/packages/NetPro.Analysic) [NetPro.Analysic](https://github.com/LeonKou/NetPro.Analysic)(请求分析控制,可精细配置同ip一定时间的错误数和正确数,超过阈值拦截熔断访问)
---
具体参考 NetPro\src\Template\API\Content(插模块插件)项目
webapi项目引用 `NetPro.Web.Api` [![NuGet](https://img.shields.io/nuget/v/NetPro.Web.Api.svg)](https://nuget.org/packages/NetPro.Web.Api) 引用最新nuget即可
Package Manager方式: `Install-Package NetPro.Web.Api -Version 3.1.2`
.NET CLI 方式: `dotnet add package NetPro.Web.Api --version 3.1.2`
PackageReference:`<PackageReference Include="NetPro.Web.Api" Version="3.1.2" />`
.NET CLI 方式: `paket add NetPro.Web.Api --version 3.1.2`
---
## 通过脚手架创建项目(推荐)
### 1、安装netproapi[![NuGet](https://img.shields.io/nuget/v/netproapi.svg)](https://nuget.org/packages/netproapi)脚手架
执行以下命令安装脚手架
```
dotnet new -i netproapi::*
```
### 2、使用脚手架创建项目
在指定的项目文件夹中执行以下命令
```
dotnet new netproapi -n 项目名称
```
例如当前项目为IAM
```
dotnet new netproapi -n IAM
```
执行以上命令将自动创建WebApi代码解决方案
## 手动创建项目
* 修改`Program.cs`
```csharp
Environment.SetEnvironmentVariable("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", "NetPro.Startup");
var host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
ApolloClientHelper.ApolloConfig(hostingContext, config, args);
});
host.Build().Run();
```
* 增加 `EndpointsStartup.cs`文件配置
可加多个继承了INetProStartup接口的启动类来控制启动顺序和初始化
此文件继承`INetProStartup`接口,提供了microsoft原生依赖注入能力,所有组件注入放于此 ,Startup.cs将不接受组件注入
```csharp
// <aut
没有合适的资源?快使用搜索试试~ 我知道了~
NETPPRO一组独立中间件的类库 NetPro.rar
共618个文件
cs:372个
json:83个
md:57个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2022-04-15
00:42:42
上传
评论
收藏 920KB RAR 举报
温馨提示
NetpPro一组独立中间件的类库 简要 .NetpPro是一组独立中间件的类库统称,具有轻量级,依赖小,易用使用且高效。 在以往的开发中我们常常封装内置一堆组件作为框架进行使用,项目是否使用这些组件功能都将统统加载,组件无法插拔,往往都是集成度和依赖较高,导致新的学习成本,对于长期维护埋下了很大隐患;而不做封装又要面对杂乱的注入顺序和繁琐重复的的初始化逻辑,有没有办法既可以按需引用又可以避免这些初始化逻辑并且都能以各组件原生的方式调用, NetPro就是为解决以上问题而创建。 所有组件在/src/Library路径下,每个组件已有详尽的使用说明文档README.md 组件可在任意项目中使用,不强依赖NetPro环境,支持按需引用,引用即自动初始化,免去各类中间件繁琐初始化操作,支持net3.1 net6.0。NetPro项目在基于核心包NetPro.Startup基础上提供了其他周边常用中间件,其核心封装逻辑也是尽可能的暴露原生方法,不对开发人员产生过多不必要的学习成本。 基于NetPro.Startup的有两个关键插件包: NetPro.Web.Api 用于开发webap
资源推荐
资源详情
资源评论
收起资源包目录
NETPPRO一组独立中间件的类库 NetPro.rar (618个子文件)
NuGet.config 445B
NuGet.config 445B
NuGet.config 445B
NuGet.config 445B
Const.cs 90KB
DapperSmart.cs 61KB
RedisDatabase.cs 43KB
IRedisDatabase.cs 32KB
DapperSmartAsync.cs 31KB
CsRedisManager.cs 28KB
Parameter.cs 27KB
QueueService.cs 24KB
EncryptHelper.cs 23KB
NetProFileProvider.cs 23KB
DapperRepository.cs 23KB
XMLProcess.cs 22KB
WebHelper.cs 22KB
CsRedisManager.cs 21KB
StackExchangeRedisManager.cs 20KB
NullCache.cs 20KB
RabbitMqClientDependencyInjectionExtensions.cs 19KB
ObjectId.cs 19KB
FreeSQLDemoService .cs 18KB
AppDomainTypeFinder.cs 18KB
CommonHelper.cs 17KB
IDapperRepository.cs 17KB
PostResponseCacheAttribute.cs 17KB
DapperRepositoryAsync.cs 17KB
NetProStartup.cs 16KB
IRedisDatabase.Hash.cs 16KB
RequestAnalysisMiddlewareExtensions.cs 15KB
INetProFileProvider.cs 14KB
FreeSQLDemoService .cs 14KB
IRedisManager.cs 14KB
RedisServiceExtensions.cs 14KB
IRedisManager.cs 13KB
ReflectionHelper.cs 13KB
RoutingStartup.cs 13KB
PostResponseCacheMiddleware.cs 13KB
ExcelHelper.cs 12KB
NetProSwaggerServiceExtensions.cs 12KB
ServiceCollectionExtension.cs 11KB
TimeHelper.cs 11KB
RSAHelper.cs 11KB
CommonHelper.cs 10KB
RedisConfiguration.cs 10KB
SignCommon.cs 10KB
SignMiddleware.cs 10KB
NullCache.cs 10KB
RedisDatabase.Hash.cs 9KB
NullCache.cs 9KB
MQTTServerStartup .cs 9KB
CheckMiddlewareHandler.cs 8KB
ApplicationBuilderExtensions.cs 8KB
EnumHelper.cs 8KB
VerifySignAttribute.cs 8KB
PagedList.cs 8KB
DapperExpressionVisitor.cs 8KB
IRedisDatabase.Sort.cs 7KB
NetProEngine.cs 7KB
MQTTServerTask.cs 7KB
RedisService.cs 7KB
Extensions.Enum.cs 7KB
RedisService.cs 7KB
IQueueService.cs 7KB
NetProSerilog.cs 7KB
HttpProxyServiceExtensions.cs 7KB
ConsulExtesions.cs 7KB
CustomLocalizationServiceCollectionExtensions.cs 6KB
RedisServiceExtensions.cs 6KB
RedisCacheConnectionPoolManager.cs 6KB
ActionFilterHelper.cs 6KB
StackExchangeRedis.cs 6KB
MiddlewareDemoController .cs 6KB
DapperContext.cs 6KB
FreeSQLDemoController.cs 6KB
SwaggerDefaultValueFilter.cs 6KB
RedisDatabase.Sort.cs 6KB
CustomStringLocalizerFactory.cs 6KB
Program.cs 6KB
TaosService.cs 6KB
FreeSQLDemoController.cs 6KB
NetProCoreStartup.cs 5KB
EnumHelper.cs 5KB
DataTableExtensions.cs 5KB
CsRedis.cs 5KB
RegisterToConsulExtension.cs 5KB
RedisDatabase.PubSub.cs 5KB
AgentServiceRegistrationHostedService.cs 5KB
IRedisCacheClient.cs 5KB
BatchInjectionExtension.cs 5KB
XmlHelper.cs 5KB
EasyNetQServiceExtensions.cs 5KB
CheckerStartup.cs 5KB
VerifySignServiceExtensions.cs 5KB
IServiceCollectionExtensions.cs 5KB
ZeroMQServiceExtensions.cs 5KB
CorsStartup.cs 5KB
HealthChecksMongodbExtensions.cs 4KB
NetMqTask.cs 4KB
共 618 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
学习成长分享快乐
- 粉丝: 46
- 资源: 1003
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功