实例介绍
jimu(积木)微服务框架是一款基于.Net6.0开发的简单易用的微服务解决方案,旨在帮助开发者像搭建积木一样快速构建分布式、高并发的微服务应用。它整合了众多优秀的开源库,如DotNetty, consul.net, Flurl.Http等,提供了服务注册与发现、动态网关、RPC调用、JWT鉴权、负载均衡等核心功能。
核心特点:
- 采用Apache License 2.0开源协议。
- 核心思想基于IOC和DI,通过autofac实现组件注入。
- 支持服务注册与发现,使用Consul进行服务治理。
- 实现动态网关、基于DotNetty的RPC调用。
- 提供JWT鉴权、轮询负载均衡和重试容错策略。
- 支持容器发布Docker,路由配置和日志记录。
- 集成Api文档Swagger,链路跟踪SkyWalking。
- 支持RESTful风格API、健康监测、文件上传下载等功能。
jimu微服务框架为开发者提供了一套全面的微服务解决方案,无论是项目构建、服务治理还是性能优化,都能快速上手,提高开发效率。更多详情和快速开始指南,请参考项目文档。
// 示例代码:启动Consul
// 启动 consul;
// 设置 Samples/ApiGateway, Samples/Server.Auth, Samples/Server.Order, Samples/Server.User 为启动项;
// 打开 http://localhost:54762/swagger/index.html
【实例截图】
【核心代码】
文件清单
└── jimu-8c6bbeee9a6fe895b9e288b7140c9794f657702d
├── LICENSE.txt
├── README.md
└── src
├── Jimu
│ ├── ApplicationBuilderBase.cs
│ ├── Application.cs
│ ├── Bus
│ │ ├── Command
│ │ │ ├── IJimuCommand.cs
│ │ │ ├── IJimuConsumeContext.cs
│ │ │ └── IJimuConsumer.cs
│ │ ├── Event
│ │ │ ├── IJimuEvent.cs
│ │ │ ├── IJimuSubscribeContext.cs
│ │ │ └── IJimuSubscriber.cs
│ │ ├── IJimuBus.cs
│ │ └── Request
│ │ ├── IJimuRequestContext.cs
│ │ ├── IJimuRequest.cs
│ │ └── IJimuRequestHandler.cs
│ ├── Common
│ │ ├── Enumeration.cs
│ │ ├── Extensions.cs
│ │ ├── JimuHelper.cs
│ │ ├── JimuOptions.cs
│ │ ├── JsonEnvParamParserFileProvider.cs
│ │ ├── SerializerHelper.cs
│ │ └── TypeConvertProvider.cs
│ ├── Core
│ │ ├── Attributes
│ │ │ ├── JimuFieldCommentAttribute.cs
│ │ │ ├── JimuReturnCommentAttribute.cs
│ │ │ ├── JimuServiceAttribute.cs
│ │ │ ├── JimuServiceDescAttribute.cs
│ │ │ └── JimuServiceRouteAttribute.cs
│ │ ├── Communication
│ │ │ ├── JimuFile.cs
│ │ │ ├── JimuPayload.cs
│ │ │ ├── JimuRedirect.cs
│ │ │ ├── JimuRemoteCallData.cs
│ │ │ ├── JimuRemoteCallResultData.cs
│ │ │ └── JimuTransportMsg.cs
│ │ ├── Exception
│ │ │ └── TransportException.cs
│ │ ├── Service
│ │ │ ├── IJimuService.cs
│ │ │ ├── JimuAddress.cs
│ │ │ ├── JimuServiceEntry.cs
│ │ │ └── JimuServiceRoute.cs
│ │ └── ServiceDesc
│ │ ├── JimuAddressDesc.cs
│ │ ├── JimuServiceDesc.cs
│ │ ├── JimuServiceParameterDesc.cs
│ │ ├── JimuServiceReturnDesc.cs
│ │ └── JimuServiceRouteDesc.cs
│ ├── DDD
│ │ ├── AggregateRoot
│ │ │ ├── AggregateRoot.cs
│ │ │ ├── DomainEntity.cs
│ │ │ ├── IAggregateRoot.cs
│ │ │ └── IEntity.cs
│ │ ├── Event
│ │ │ ├── DomainEvent.cs
│ │ │ ├── IDomainEvent.cs
│ │ │ ├── InlineEventHandlerAttribute.cs
│ │ │ └── InlineEventHandler.cs
│ │ └── Repository
│ │ ├── IRepository.cs
│ │ └── Repository.cs
│ ├── Diagnostic
│ │ ├── EventData.cs
│ │ ├── IErrorEventData.cs
│ │ └── IJimuDiagnostic.cs
│ ├── IApplicationBuilder.cs
│ ├── IApplication.cs
│ ├── Jimu.csproj
│ ├── Logger
│ │ ├── Console
│ │ │ ├── ConsoleLogger.cs
│ │ │ └── ConsoleLoggerFactory.cs
│ │ ├── ILogger.cs
│ │ ├── ILoggerFactory.cs
│ │ ├── Log4net
│ │ │ ├── JimuLog4netOptions.cs
│ │ │ ├── Log4netClientModule.cs
│ │ │ ├── Log4netLogger.cs
│ │ │ ├── Log4netLoggerFactory.cs
│ │ │ └── Log4netServerModule.cs
│ │ ├── LoggerException.cs
│ │ ├── LogLevel.cs
│ │ └── NLog
│ │ ├── JimuNLogOptions.cs
│ │ ├── NLogClientModule.cs
│ │ ├── NLogger.cs
│ │ ├── NLoggerFactory.cs
│ │ └── NLogServerModule.cs
│ ├── Module
│ │ ├── ClientModuleBase.cs
│ │ ├── ModuleBase.cs
│ │ └── ServerModuleBase.cs
│ └── UnitOfWork
│ ├── IDbFactory.cs
│ ├── IEFEntity.cs
│ ├── IUnitOfWork.cs
│ └── UnitOfWorkBase.cs
├── Jimu.All
│ └── Jimu.All.csproj
├── Jimu.Client
│ ├── ApiGateway
│ │ ├── Core
│ │ │ ├── JimuClient.cs
│ │ │ ├── JimuHttpContext.cs
│ │ │ ├── JimuHttpStatusCodeException.cs
│ │ │ ├── JimuHttpStatusCodeExceptionMiddleware.cs
│ │ │ ├── JimuQueryString.cs
│ │ │ ├── JimuQueryStringModelBinder.cs
│ │ │ └── JimuQueryStringModelBinderProvider.cs
│ │ ├── JimuServicesController.cs
│ │ ├── Startup.cs
│ │ └── WebHostBuilderExtension.cs
│ ├── ApplicationClientBuilder.cs
│ ├── ApplicationClientBuilderExtension.cs
│ ├── ApplicationClient.cs
│ ├── Auth
│ │ ├── JwtAuthClientModule.cs
│ │ └── Middlewares
│ │ ├── JwtAuthorizationContext.cs
│ │ ├── JwtAuthorizationMiddleware.cs
│ │ └── JwtAuthorizationOptions.cs
│ ├── ClientGeneralModuleBase.cs
│ ├── ClientWebModuleBase.cs
│ ├── Diagnostic
│ │ ├── DiagnosticClient.cs
│ │ ├── DiagnosticClientEventType.cs
│ │ ├── DiagnosticClientExtensions.cs
│ │ ├── DiagnosticClientOptions.cs
│ │ ├── DiagnosticModule.cs
│ │ └── EventData
│ │ ├── RPCExecuteAfterEventData.cs
│ │ ├── RPCExecuteBeforeEventData.cs
│ │ ├── RPCExecuteErrorEventData.cs
│ │ └── RPCExecuteEventData.cs
│ ├── Discovery
│ │ ├── IClientServiceDiscovery.cs
│ │ └── Implement
│ │ ├── ClientServiceDiscovery.cs
│ │ ├── DiscoveryOptions.cs
│ │ └── DiscoveryServiceClientModule.cs
│ ├── FaultTolerant
│ │ ├── FaultTolerantClientModule.cs
│ │ ├── FaultTolerantOptions.cs
│ │ └── RetryCallMiddleware.cs
│ ├── HealthCheck
│ │ ├── HealthCheckClientModule.cs
│ │ ├── HealthCheckOptions.cs
│ │ ├── IHealthCheck.cs
│ │ └── QuartzHealthCheck.cs
│ ├── Jimu.Client.csproj
│ ├── LoadBalance
│ │ ├── AddressSelectorBase.cs
│ │ ├── IAddressSelector.cs
│ │ ├── LoadBalanceClientModule.cs
│ │ ├── LoadBalanceOptions.cs
│ │ └── PollingAddressSelector.cs
│ ├── Proxy
│ │ ├── CompilationUtilitys.cs
│ │ ├── Implement
│ │ │ └── ServiceProxy.cs
│ │ ├── IServiceProxy.cs
│ │ ├── IServiceProxyGenerator.cs
│ │ ├── ServiceProxyBase.cs
│ │ ├── ServiceProxyClientModule.cs
│ │ ├── ServiceProxyGenerator.cs
│ │ └── ServiceProxyOptions.cs
│ ├── RemoteCaller
│ │ ├── Implement
│ │ │ └── RemoteServiceCaller.cs
│ │ ├── IRemoteServiceCaller.cs
│ │ ├── RemoteCallerContext.cs
│ │ └── UseMiddlewareExtensions.cs
│ ├── Token
│ │ ├── Implement
│ │ │ ├── ServiceHostBuilderExtension.cs
│ │ │ ├── ServiceTokenGetter.cs
│ │ │ ├── TokenClientModule.cs
│ │ │ └── TokenGetterOptions.cs
│ │ └── IServiceTokenGetter.cs
│ └── Transport
│ ├── ClientListener.cs
│ ├── ClientSender.cs
│ ├── ClientSenderFactory.cs
│ ├── DotNetty
│ │ ├── Adapter
│ │ │ ├── ClientHandlerChannelHandlerAdapter.cs
│ │ │ └── ReadClientMessageChannelHandlerAdapter.cs
│ │ └── DotNettyClientSender.cs
│ ├── Http
│ │ └── HttpClientSender.cs
│ ├── IClientSender.cs
│ ├── TransportClientModule.cs
│ └── TransportOptions.cs
├── Jimu.Mix
│ ├── ApplicationMix.cs
│ └── Jimu.Mix.csproj
├── Jimu.Modules
│ ├── Jimu.Client.ApiGateway.Swagger
│ │ ├── Jimu.Client.ApiGateway.Swagger.csproj
│ │ ├── Schema
│ │ │ ├── ISchema.cs
│ │ │ ├── ISchemaFactory.cs
│ │ │ ├── SchemaArray.cs
│ │ │ ├── SchemaDateTime.cs
│ │ │ ├── SchemaDefault.cs
│ │ │ ├── SchemaDictionary.cs
│ │ │ ├── SchemaFactory.cs
│ │ │ ├── SchemaModel.cs
│ │ │ └── SchemaObject.cs
│ │ ├── SwaggerClientModule.cs
│ │ ├── SwaggerDocumentFilter.cs
│ │ ├── SwaggerOptions.cs
│ │ └── TypeHelper.cs
│ ├── Jimu.Client.Diagnostic.Skywalking
│ │ ├── Class1.cs
│ │ ├── JimuClientCarrierHeaderCollection.cs
│ │ ├── JimuClientDiagnosticProcessor.cs
│ │ ├── Jimu.Client.Diagnostic.Skywalking.csproj
│ │ ├── SkywalkingClientModule.cs
│ │ └── SkywalkingOptions.cs
│ ├── Jimu.Client.Discovery.Consul
│ │ ├── ConsulDiscoveryClientModule.cs
│ │ ├── ConsulOptions.cs
│ │ └── Jimu.Client.Discovery.Consul.csproj
│ ├── Jimu.Server.Bus.MassTransit.RabbitMq
│ │ ├── Jimu.Server.Bus.MassTransit.RabbitMq.csproj
│ │ ├── JimuServerBusMassTransitRabbitMqModule.cs
│ │ ├── MassTransitOptions.cs
│ │ ├── MassTransitRabbitMqBus.cs
│ │ ├── MassTransitRabbitMqConsumeContext.cs
│ │ ├── MassTransitRabbitMqRequestContext.cs
│ │ ├── MassTransitRabbitMqSubscribeContext.cs
│ │ └── Pattern
│ │ ├── CommandPattern.cs
│ │ ├── IPattern.cs
│ │ ├── PatternProvider.cs
│ │ ├── PublicSubscribePattern.cs
│ │ └── RequestResponsePattern.cs
│ ├── Jimu.Server.Diagnostic.Skywalking
│ │ ├── Class1.cs
│ │ ├── JimuServerCarrierHeaderCollection.cs
│ │ ├── JimuServerDiagnosticModule.cs
│ │ ├── JimuServerDiagnosticProcessor.cs
│ │ ├── Jimu.Server.Diagnostic.Skywalking.csproj
│ │ └── SkywalkingOptions.cs
│ ├── Jimu.Server.Discovery.Consul
│ │ ├── ConsulDiscoveryServerModule.cs
│ │ ├── ConsulOptions.cs
│ │ ├── ConsulServiceDiscovery.cs
│ │ └── Jimu.Server.Discovery.Consul.csproj
│ ├── Jimu.Server.Memcached.EnyimMemcachedCore
│ │ ├── Jimu.Server.Memcached.EnyimMemcachedCore.csproj
│ │ ├── JimuServerMemcachedModule.cs
│ │ └── MemcachedOptions.cs
│ ├── Jimu.Server.UnitOfWork.DbCon
│ │ ├── DbConnectionUnitOfWork.cs
│ │ ├── DbConnectionUnitOfWorkException.cs
│ │ ├── DbConnectionUnitOfWorkModule.cs
│ │ ├── DbConOptions.cs
│ │ ├── DbFactory.cs
│ │ ├── Jimu.Server.UnitOfWork.DbCon.csproj
│ │ └── MultipleDbConOptions.cs
│ ├── Jimu.Server.UnitOfWork.EF
│ │ ├── DbFactory.cs
│ │ ├── EFOptions.cs
│ │ ├── EFProviderContainer.cs
│ │ ├── EFUnitOfWork.cs
│ │ ├── EFUnitOfWorkDbContext.cs
│ │ ├── EFUnitOfWorkException.cs
│ │ ├── EFUnitOfWorkModule.cs
│ │ ├── IEFProvider.cs
│ │ ├── Jimu.Server.UnitOfWork.EF.csproj
│ │ ├── MultipleEFOptions.cs
│ │ └── SqlLogger.cs
│ └── Jimu.Server.UnitOfWork.SqlSugar
│ ├── DbFactory.cs
│ ├── Jimu.Server.UnitOfWork.SqlSugar.csproj
│ ├── MultipleSqlSugarOptions.cs
│ ├── SqlSugarOptions.cs
│ ├── SqlSugarUnitOfWork.cs
│ ├── SqlSugarUnitOfWorkException.cs
│ └── SqlSugarUnitOfWorkModule.cs
├── Jimu.Server
│ ├── ApplicationServerBuilder.cs
│ ├── ApplicationServer.cs
│ ├── Auth
│ │ ├── JwtAuthServerModule.cs
│ │ └── Middlewares
│ │ ├── JwtAuthorizationContext.cs
│ │ ├── JwtAuthorizationMiddleware.cs
│ │ └── JwtAuthorizationOptions.cs
│ ├── Diagnostic
│ │ ├── DiagnosticModule.cs
│ │ ├── DiagnosticServer.cs
│ │ ├── DiagnosticServerEventType.cs
│ │ ├── DiagnosticServerExtensions.cs
│ │ ├── DiagnosticServerOptions.cs
│ │ └── EventData
│ │ ├── LocalMethod
│ │ │ ├── LocalMethodInvokeAfterEventData.cs
│ │ │ ├── LocalMethodInvokeBeforeEventData.cs
│ │ │ ├── LocalMethodInvokeErrorEventData.cs
│ │ │ └── LocalMethodInvokeEventData.cs
│ │ └── ServiceInvoke
│ │ ├── ServiceInvokeAfterEventData.cs
│ │ ├── ServiceInvokeBeforeEventData.cs
│ │ ├── ServiceInvokeErrorEventData.cs
│ │ └── ServiceInvokeEventData.cs
│ ├── Discovery
│ │ └── IServiceDiscovery.cs
│ ├── Jimu.Server.csproj
│ ├── ServerGeneralModuleBase.cs
│ ├── ServiceContainer
│ │ ├── Implement
│ │ │ ├── Parser
│ │ │ │ ├── FastInvoke.cs
│ │ │ │ ├── JimuServiceDescParser.cs
│ │ │ │ ├── JimuServiceEntryParser.cs
│ │ │ │ └── XmlCommentsMemberNameHelper.cs
│ │ │ ├── ServiceEntryContainer.cs
│ │ │ ├── ServiceHostBuilderExtension.cs
│ │ │ ├── ServiceLoaderServerModule.cs
│ │ │ ├── ServiceOptions.cs
│ │ │ └── ServicesLoader.cs
│ │ └── IServiceEntryContainer.cs
│ └── Transport
│ ├── DotNetty
│ │ ├── Adapter
│ │ │ ├── ReadServerMessageChannelHandlerAdapter.cs
│ │ │ └── ServerHandlerChannelHandlerAdapter.cs
│ │ ├── DotNettyResponse.cs
│ │ └── DotNettyServer.cs
│ ├── Http
│ │ ├── HttpMiddleware.cs
│ │ ├── HttpResponse.cs
│ │ ├── HttpServer.cs
│ │ └── Startup.cs
│ ├── IResponse.cs
│ ├── IServer.cs
│ ├── ServiceInvokerContext.cs
│ ├── TransportOptions.cs
│ ├── TransportServerModule.cs
│ └── UseMiddlewareExtensions.cs
├── Jimu.sln
├── Samples
│ ├── ApiGateway
│ │ ├── ApiGateway.csproj
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Controllers
│ │ │ ├── FileController.cs
│ │ │ ├── HomeController.cs
│ │ │ ├── ServicesManagerController.cs
│ │ │ └── WeatherForecastController.cs
│ │ ├── JimuAppClientSettings.json
│ │ ├── JimuAppClientSettings.local.json
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── skyapm.json
│ │ ├── Startup.cs
│ │ ├── Views
│ │ │ ├── File
│ │ │ │ └── Index.cshtml
│ │ │ ├── Home
│ │ │ │ └── Index.cshtml
│ │ │ ├── ServicesManager
│ │ │ │ └── Service.cshtml
│ │ │ ├── Shared
│ │ │ │ └── _Layout.cshtml
│ │ │ └── _ViewStart.cshtml
│ │ ├── WeatherForecast.cs
│ │ └── wwwroot
│ │ └── assets
│ │ └── libs
│ │ ├── Bootstrap-Table
│ │ │ ├── bootstrap-table.min.css
│ │ │ └── bootstrap-table.min.js
│ │ ├── Flat-UI
│ │ │ ├── css
│ │ │ │ ├── flat-ui.css
│ │ │ │ ├── flat-ui.css.map
│ │ │ │ ├── flat-ui.min.css
│ │ │ │ └── vendor
│ │ │ │ └── bootstrap
│ │ │ │ ├── css
│ │ │ │ │ └── bootstrap.min.css
│ │ │ │ └── fonts
│ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ ├── fonts
│ │ │ │ ├── glyphicons
│ │ │ │ │ ├── flat-ui-icons-regular.eot
│ │ │ │ │ ├── flat-ui-icons-regular.svg
│ │ │ │ │ ├── flat-ui-icons-regular.ttf
│ │ │ │ │ ├── flat-ui-icons-regular.woff
│ │ │ │ │ └── selection.json
│ │ │ │ └── lato
│ │ │ │ ├── lato-black.eot
│ │ │ │ ├── lato-black.svg
│ │ │ │ ├── lato-black.ttf
│ │ │ │ ├── lato-black.woff
│ │ │ │ ├── lato-bold.eot
│ │ │ │ ├── lato-bolditalic.eot
│ │ │ │ ├── lato-bolditalic.svg
│ │ │ │ ├── lato-bolditalic.ttf
│ │ │ │ ├── lato-bolditalic.woff
│ │ │ │ ├── lato-bold.svg
│ │ │ │ ├── lato-bold.ttf
│ │ │ │ ├── lato-bold.woff
│ │ │ │ ├── lato-italic.eot
│ │ │ │ ├── lato-italic.svg
│ │ │ │ ├── lato-italic.ttf
│ │ │ │ ├── lato-italic.woff
│ │ │ │ ├── lato-light.eot
│ │ │ │ ├── lato-light.svg
│ │ │ │ ├── lato-light.ttf
│ │ │ │ ├── lato-light.woff
│ │ │ │ ├── lato-regular.eot
│ │ │ │ ├── lato-regular.svg
│ │ │ │ ├── lato-regular.ttf
│ │ │ │ └── lato-regular.woff
│ │ │ ├── img
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── icons
│ │ │ │ │ ├── png
│ │ │ │ │ │ ├── Book.png
│ │ │ │ │ │ ├── Calendar.png
│ │ │ │ │ │ ├── Chat.png
│ │ │ │ │ │ ├── Clipboard.png
│ │ │ │ │ │ ├── Compas.png
│ │ │ │ │ │ ├── Gift-Box.png
│ │ │ │ │ │ ├── Infinity-Loop.png
│ │ │ │ │ │ ├── Mail.png
│ │ │ │ │ │ ├── Map.png
│ │ │ │ │ │ ├── Pensils.png
│ │ │ │ │ │ ├── Pocket.png
│ │ │ │ │ │ ├── Retina-Ready.png
│ │ │ │ │ │ ├── Toilet-Paper.png
│ │ │ │ │ │ └── Watches.png
│ │ │ │ │ └── svg
│ │ │ │ │ ├── book.svg
│ │ │ │ │ ├── calendar.svg
│ │ │ │ │ ├── chat.svg
│ │ │ │ │ ├── clipboard.svg
│ │ │ │ │ ├── clocks.svg
│ │ │ │ │ ├── compas.svg
│ │ │ │ │ ├── gift-box.svg
│ │ │ │ │ ├── loop.svg
│ │ │ │ │ ├── mail.svg
│ │ │ │ │ ├── map.svg
│ │ │ │ │ ├── paper-bag.svg
│ │ │ │ │ ├── pencils.svg
│ │ │ │ │ ├── retina.svg
│ │ │ │ │ ├── ribbon.svg
│ │ │ │ │ └── toilet-paper.svg
│ │ │ │ ├── login
│ │ │ │ │ ├── icon.png
│ │ │ │ │ ├── imac-2x.png
│ │ │ │ │ └── imac.png
│ │ │ │ └── tile
│ │ │ │ ├── ribbon-2x.png
│ │ │ │ └── ribbon.png
│ │ │ ├── index.html
│ │ │ └── js
│ │ │ ├── flat-ui.js
│ │ │ ├── flat-ui.min.js
│ │ │ └── vendor
│ │ │ ├── html5shiv.js
│ │ │ ├── jquery.min.js
│ │ │ ├── jquery.min.map
│ │ │ ├── respond.min.js
│ │ │ ├── video.js
│ │ │ └── video-js.swf
│ │ └── VueJS
│ │ └── vue.min.js
│ ├── Auth
│ │ ├── IService.Auth
│ │ │ ├── DTO
│ │ │ │ ├── AuthReq.cs
│ │ │ │ └── AuthResp.cs
│ │ │ ├── IAuthService.cs
│ │ │ └── IService.Auth.csproj
│ │ ├── Server.Auth
│ │ │ ├── JimuAppServerSettings.json
│ │ │ ├── nlog.config
│ │ │ ├── Program.cs
│ │ │ └── Server.Auth.csproj
│ │ └── Service.Auth
│ │ ├── AuthService.cs
│ │ └── Service.Auth.csproj
│ ├── Order
│ │ ├── IService.Order
│ │ │ ├── IService.Order.csproj
│ │ │ └── IUserOrderService.cs
│ │ ├── Server.Order
│ │ │ ├── JimuAppClientSettings.json
│ │ │ ├── JimuAppServerSettings.json
│ │ │ ├── log4net.config
│ │ │ ├── Program.cs
│ │ │ ├── Server.Order.csproj
│ │ │ └── skyapm.json
│ │ └── Service.Order
│ │ ├── Service.Order.csproj
│ │ └── UserOrderService.cs
│ └── User
│ ├── IService.User
│ │ ├── dto
│ │ │ ├── AddUserCommand.cs
│ │ │ ├── HelloRequest.cs
│ │ │ ├── HelloResponse.cs
│ │ │ ├── UserAdded.cs
│ │ │ ├── UserModel.cs
│ │ │ └── UserReq.cs
│ │ ├── IBusService.cs
│ │ ├── IFileService.cs
│ │ ├── IHelloWorldService.cs
│ │ ├── IJwtService.cs
│ │ ├── ILocalDiagnosticService.cs
│ │ ├── ILoggerService.cs
│ │ ├── IMemcachedService.cs
│ │ ├── IMySqlService.cs
│ │ ├── IRedirectService.cs
│ │ ├── IRestService.cs
│ │ ├── IService.User.csproj
│ │ └── ITaskService.cs
│ ├── Server.User
│ │ ├── JimuAppServerSettings.json
│ │ ├── Program.cs
│ │ ├── Server.User.csproj
│ │ └── skyapm.json
│ ├── Service.User
│ │ ├── BusService.cs
│ │ ├── consumer
│ │ │ └── AddUserConsumer.cs
│ │ ├── FileService.cs
│ │ ├── HelloWorldService.cs
│ │ ├── JwtService.cs
│ │ ├── LocalDiagnosticService.cs
│ │ ├── LoggerService.cs
│ │ ├── MemcachedService.cs
│ │ ├── MySqlService.cs
│ │ ├── RedirectService.cs
│ │ ├── requestHandler
│ │ │ └── HelloRequestHanlder.cs
│ │ ├── RestService.cs
│ │ ├── Service.User.csproj
│ │ ├── subscriber
│ │ │ └── TestEventSubscriber.cs
│ │ └── TaskService.cs
│ ├── User.IService
│ │ └── obj
│ │ └── Debug
│ │ └── netcoreapp3.0
│ │ ├── User.IService.AssemblyInfo.cs
│ │ └── User.IService.AssemblyInfoInputs.cache
│ ├── User.Server
│ │ └── obj
│ │ └── Debug
│ │ └── netcoreapp3.0
│ │ ├── User.Server.AssemblyInfo.cs
│ │ └── User.Server.AssemblyInfoInputs.cache
│ └── User.Service
│ └── obj
│ └── Debug
│ └── netcoreapp3.0
│ ├── User.Service.AssemblyInfo.cs
│ └── User.Service.AssemblyInfoInputs.cache
└── test
└── Jimu.Test
├── JimuEntryContainerTest.cs
└── Jimu.Test.csproj
139 directories, 445 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论