实例介绍
RawRabbit是一个现代化的.NET框架,用于通过RabbitMQ进行通信。其模块化设计和中间件导向的架构使得客户端高度可定制,同时为拓扑结构、路由等提供了合理的默认设置。目前版本2.x的文档位于/docs目录下。
配置、增强和扩展
RawRabbit通过RawRabbitOptions进行配置,这是一个选项对象,可以注册客户端配置、插件,以及覆盖内部服务。
【实例截图】var client = RawRabbitFactory.CreateSingleton(new RawRabbitOptions { ClientConfiguration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("rawrabbit.json") .Build() .Get<RawRabbitConfiguration>(), Plugins = p => p .UseProtobuf() .UsePolly(c => c .UsePolicy(queueBindPolicy, PolicyKeys.QueueBind) .UsePolicy(queueDeclarePolicy, PolicyKeys.QueueDeclare) .UsePolicy(exchangeDeclarePolicy, PolicyKeys.ExchangeDeclare) ), DependencyInjection = ioc => ioc .AddSingleton<IChannelFactory, CustomChannelFactory>() });
【核心代码】
文件清单
└── RawRabbit-664763d7cdea9d4f667cc6e1c4901ca7ab8039da
├── docs
│ ├── conf.py
│ ├── enrichers
│ │ ├── attribute-routing.md
│ │ ├── global-execution-id.md
│ │ ├── httpcontext.md
│ │ ├── index.rst
│ │ ├── message-context.md
│ │ ├── polly.md
│ │ └── queue-name-suffix.md
│ ├── getting-started
│ │ ├── client-lifetime.md
│ │ ├── configuration.md
│ │ ├── index.rst
│ │ ├── installation.md
│ │ ├── logging.md
│ │ ├── modify-pre-defined-operations.md
│ │ └── register-client.md
│ ├── index.rst
│ ├── make.bat
│ ├── Makefile
│ ├── operations
│ │ ├── get.md
│ │ ├── index.rst
│ │ ├── message-sequence.md
│ │ ├── publish.md
│ │ ├── request.md
│ │ ├── respond.md
│ │ ├── statemachine.md
│ │ └── subscribe.md
│ └── rabbitmq-features
│ ├── dead-letter-exchange.md
│ ├── direct-reply-to.md
│ ├── index.rst
│ ├── lazy-queues.md
│ ├── message-priority.md
│ └── publish-acknowledgements.md
├── icon.png
├── LICENSE
├── NuGet.Config
├── RawRabbit.sln
├── README.md
├── RELEASENOTES.md
├── sample
│ ├── RawRabbit.AspNet.Sample
│ │ ├── appsettings.json
│ │ ├── Controllers
│ │ │ └── ValuesController.cs
│ │ ├── MessageContext.cs
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── RawRabbit.AspNet.Sample.csproj
│ │ ├── runtimeconfig.template.json
│ │ ├── Startup.cs
│ │ └── web.config
│ ├── RawRabbit.ConsoleApp.Sample
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.ConsoleApp.Sample.csproj
│ │ └── rawrabbit.json
│ └── RawRabbit.Messages.Sample
│ ├── AnotherMessage.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RawRabbit.Messages.Sample.csproj
│ ├── ValueCreationFailed.cs
│ ├── ValueRequest.cs
│ ├── ValueResponse.cs
│ ├── ValuesCalculated.cs
│ └── ValuesRequested.cs
├── src
│ ├── RawRabbit
│ │ ├── BusClient.cs
│ │ ├── Channel
│ │ │ ├── Abstraction
│ │ │ │ └── IChannelFactory.cs
│ │ │ ├── AutoScalingChannelPool.cs
│ │ │ ├── AutoScalingChannelPoolFactory.cs
│ │ │ ├── ChannelFactory.cs
│ │ │ ├── ConcurrentChannelQueue.cs
│ │ │ ├── DynamicChannelPool.cs
│ │ │ ├── ResilientChannelPool.cs
│ │ │ └── StaticChannelPool.cs
│ │ ├── Common
│ │ │ ├── Acknowledgement.cs
│ │ │ ├── ClientPropertyProvider.cs
│ │ │ ├── ConnectionStringParser.cs
│ │ │ ├── ExclusiveLock.cs
│ │ │ ├── IDictionaryExtensions.cs
│ │ │ ├── NamingConventions.cs
│ │ │ ├── PropertyHeaders.cs
│ │ │ ├── QueueArgument.cs
│ │ │ ├── ResourceDisposer.cs
│ │ │ ├── TaskUtil.cs
│ │ │ ├── TopologyProvider.cs
│ │ │ ├── Truncator.cs
│ │ │ └── TypeExtensions.cs
│ │ ├── Configuration
│ │ │ ├── BasicPublish
│ │ │ │ ├── BasicPublishConfigurationBuilder.cs
│ │ │ │ ├── BasicPublishConfiguration.cs
│ │ │ │ ├── BasicPublishConfigurationFactory.cs
│ │ │ │ ├── IBasicPublishConfigurationBuilder.cs
│ │ │ │ └── IBasicPublishConfigurationFactory.cs
│ │ │ ├── Consume
│ │ │ │ ├── ConsumeConfigExtensions.cs
│ │ │ │ ├── ConsumeConfigurationBuilder.cs
│ │ │ │ ├── ConsumeConfiguration.cs
│ │ │ │ ├── ConsumeConfigurationFactory.cs
│ │ │ │ ├── IConsumeConfigurationBuilder.cs
│ │ │ │ └── IConsumeConfigurationFactory.cs
│ │ │ ├── Consumer
│ │ │ │ ├── ConsumerConfigurationBuilder.cs
│ │ │ │ ├── ConsumerConfiguration.cs
│ │ │ │ ├── ConsumerConfigurationFactory.cs
│ │ │ │ ├── IConsumerConfigurationBuilder.cs
│ │ │ │ └── IConsumerConfigurationFactory.cs
│ │ │ ├── ExchangeDeclare
│ │ │ │ ├── ExchangeConfigurationFactory.cs
│ │ │ │ ├── ExchangeDeclarationBuilder.cs
│ │ │ │ ├── ExchangeDeclaration.cs
│ │ │ │ ├── ExchangeDeclarationExtensions.cs
│ │ │ │ ├── ExchangeType.cs
│ │ │ │ └── IExchangeDeclarationBuilder.cs
│ │ │ ├── Get
│ │ │ │ ├── GetConfigurationBuilder.cs
│ │ │ │ ├── GetConfiguration.cs
│ │ │ │ └── IGetConfigurationBuilder.cs
│ │ │ ├── Publisher
│ │ │ │ ├── IPublisherConfigurationBuilder.cs
│ │ │ │ ├── IPublisherConfigurationFactory.cs
│ │ │ │ ├── PublisherConfigurationBuilder.cs
│ │ │ │ ├── PublisherConfiguration.cs
│ │ │ │ └── PublisherConfigurationFactory.cs
│ │ │ ├── QueueDeclare
│ │ │ │ ├── IQueueDeclarationBuilder.cs
│ │ │ │ ├── QueueDeclarationBuilder.cs
│ │ │ │ ├── QueueDeclaration.cs
│ │ │ │ ├── QueueDeclarationExtensions.cs
│ │ │ │ └── QueueDeclarationFactory.cs
│ │ │ └── RawRabbitConfiguration.cs
│ │ ├── Consumer
│ │ │ ├── ConsumerFactory.cs
│ │ │ └── IConsumerFactory.cs
│ │ ├── DependencyInjection
│ │ │ ├── IDependencyRegister.cs
│ │ │ ├── IDependencyResolver.cs
│ │ │ ├── RawRabbitDependencyRegisterExtension.cs
│ │ │ └── SimpleDependencyInjection.cs
│ │ ├── Exceptions
│ │ │ ├── ChannelAvailabilityException.cs
│ │ │ ├── ExceptionInformation.cs
│ │ │ ├── MessageHandlerException.cs
│ │ │ └── PublishConfirmException.cs
│ │ ├── IBusClient.cs
│ │ ├── Instantiation
│ │ │ ├── ClientBuilder.cs
│ │ │ ├── Disposable
│ │ │ │ └── BusClient.cs
│ │ │ ├── InstanceFactory.cs
│ │ │ ├── RawRabbitFactory.cs
│ │ │ └── RawRabbitOptions.cs
│ │ ├── Logging
│ │ │ └── LibLog.cs
│ │ ├── Pipe
│ │ │ ├── AddPropertyPipeContextExtensions.cs
│ │ │ ├── IPipeContext.cs
│ │ │ ├── IPipeContextFactory.cs
│ │ │ ├── Middleware
│ │ │ │ ├── BasicPropertiesMiddleware.cs
│ │ │ │ ├── BasicPublishConfigurationMiddleware.cs
│ │ │ │ ├── BasicPublishMiddleware.cs
│ │ │ │ ├── BodyDeserializationMiddleware.cs
│ │ │ │ ├── BodySerializationMiddleware.cs
│ │ │ │ ├── CancellationMiddleware.cs
│ │ │ │ ├── ChannelCreationMiddleware.cs
│ │ │ │ ├── ConsumeConfigurationMiddleware.cs
│ │ │ │ ├── ConsumerConsumeMiddleware.cs
│ │ │ │ ├── ConsumerCreationMiddleware.cs
│ │ │ │ ├── ConsumerMessageHandlerMiddleware.cs
│ │ │ │ ├── ExceptionHandlingMiddleware.cs
│ │ │ │ ├── ExchangeDeclareMiddleware.cs
│ │ │ │ ├── ExchangeDeleteMiddleware.cs
│ │ │ │ ├── ExplicitAckMiddleware.cs
│ │ │ │ ├── HandlerInvocationMiddleware.cs
│ │ │ │ ├── HeaderDeserializationMiddleware.cs
│ │ │ │ ├── HeaderSerializationMiddleware.cs
│ │ │ │ ├── Middleware.cs
│ │ │ │ ├── MiddlewareInfo.cs
│ │ │ │ ├── NoOpMiddleware.cs
│ │ │ │ ├── PooledChannelMiddleware.cs
│ │ │ │ ├── QueueBindMiddleware.cs
│ │ │ │ ├── QueueDeclareMiddleware.cs
│ │ │ │ ├── QueueDeleteMiddleware.cs
│ │ │ │ ├── StageMarkerMiddleware.cs
│ │ │ │ ├── SubscriptionMiddleware.cs
│ │ │ │ ├── TransientChannelMiddleware.cs
│ │ │ │ └── UseHandlerMiddleware.cs
│ │ │ ├── PipeBuilder.cs
│ │ │ ├── PipeBuilderFactory.cs
│ │ │ ├── PipeContextExtension.cs
│ │ │ ├── PipeContextGetExtension.cs
│ │ │ ├── PipeKey.cs
│ │ │ └── StageMarker.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.csproj
│ │ ├── Serialization
│ │ │ ├── ISerializer.cs
│ │ │ ├── JsonSerializer.cs
│ │ │ └── StringSerializerBase.cs
│ │ └── Subscription
│ │ ├── Subscription.cs
│ │ └── SubscriptionRepository.cs
│ ├── RawRabbit.Compatibility.Legacy
│ │ ├── BusClient.cs
│ │ ├── BusClientOfT.cs
│ │ ├── Configuration
│ │ │ ├── ConfigurationEvaluator.cs
│ │ │ ├── Exchange
│ │ │ │ ├── ExchangeConfigurationBuilder.cs
│ │ │ │ ├── ExchangeConfiguration.cs
│ │ │ │ ├── ExchangeConfigurationExtensions.cs
│ │ │ │ ├── ExchangeType.cs
│ │ │ │ └── IExchangeConfigurationBuilder.cs
│ │ │ ├── Publish
│ │ │ │ ├── IPublishConfigurationBuilder.cs
│ │ │ │ ├── PublishConfigurationBuilder.cs
│ │ │ │ └── PublishConfiguration.cs
│ │ │ ├── Queue
│ │ │ │ ├── IQueueConfigurationBuilder.cs
│ │ │ │ ├── QueueConfigurationBuilder.cs
│ │ │ │ ├── QueueConfiguration.cs
│ │ │ │ └── QueueConfigurationExtensions.cs
│ │ │ ├── Request
│ │ │ │ ├── IRequestConfigurationBuilder.cs
│ │ │ │ ├── RequestConfigurationBuilder.cs
│ │ │ │ └── RequestConfiguration.cs
│ │ │ ├── Respond
│ │ │ │ ├── IResponderConfigurationBuilder.cs
│ │ │ │ ├── ResponderConfigurationBuilder.cs
│ │ │ │ └── ResponderConfiguration.cs
│ │ │ └── Subscribe
│ │ │ ├── ISubscriptionConfigurationBuilder.cs
│ │ │ ├── SubscriptionConfigurationBuilder.cs
│ │ │ └── SubscriptionConfiguration.cs
│ │ ├── IBusClient.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Compatibility.Legacy.csproj
│ │ └── RawRabbitFactory.cs
│ ├── RawRabbit.DependencyInjection.Autofac
│ │ ├── ComponentContextAdapter.cs
│ │ ├── ContainerBuilderAdapter.cs
│ │ ├── ContainerBuilderExtension.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── RawRabbit.DependencyInjection.Autofac.csproj
│ ├── RawRabbit.DependencyInjection.Ninject
│ │ ├── KernelExtension.cs
│ │ ├── NinjectAdapter.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.DependencyInjection.Ninject.csproj
│ │ └── RawRabbitModule.cs
│ ├── RawRabbit.DependencyInjection.ServiceCollection
│ │ ├── AddRawRabbitExtension.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.DependencyInjection.ServiceCollection.csproj
│ │ ├── ServiceCollectionAdapter.cs
│ │ └── ServiceProviderAdapter.cs
│ ├── RawRabbit.Enrichers.Attributes
│ │ ├── AttributePlugin.cs
│ │ ├── ExchangeAttribute.cs
│ │ ├── Middleware
│ │ │ ├── ConsumeAttributeMiddleware.cs
│ │ │ └── ProduceAttributeMiddleware.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── QueueAttribute.cs
│ │ ├── RawRabbit.Enrichers.Attributes.csproj
│ │ └── RoutingAttribute.cs
│ ├── RawRabbit.Enrichers.GlobalExecutionId
│ │ ├── Dependencies
│ │ │ └── GlobalExecutionIdRepository.cs
│ │ ├── GlobalExecutionIdPlugin.cs
│ │ ├── Middleware
│ │ │ ├── AppendGlobalExecutionIdMiddleware.cs
│ │ │ ├── ExecutionIdRoutingMiddleware.cs
│ │ │ ├── GlobalExecutionIdMiddleware.cs
│ │ │ ├── PersistGlobalExecutionIdMiddleware.cs
│ │ │ ├── PublishHeaderAppenderMiddleware.cs
│ │ │ └── WildcardRoutingKeyMiddleware.cs
│ │ ├── PipeContextExtensions.cs
│ │ ├── PipeKey.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PropertyHeaders.cs
│ │ └── RawRabbit.Enrichers.GlobalExecutionId.csproj
│ ├── RawRabbit.Enrichers.HttpContext
│ │ ├── AspNetCoreHttpContextMiddleware.cs
│ │ ├── HttpContextPlugin.cs
│ │ ├── NetFxHttpContextMiddleware.cs
│ │ ├── PipeContextHttpExtensions.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── RawRabbit.Enrichers.HttpContext.csproj
│ ├── RawRabbit.Enrichers.MessageContext
│ │ ├── Context
│ │ │ ├── IMessageContext.cs
│ │ │ └── MessageContext.cs
│ │ ├── ContextForwardPlugin.cs
│ │ ├── Dependencies
│ │ │ └── MessageContextRepository.cs
│ │ ├── MessageContextPlugin.cs
│ │ ├── Middleware
│ │ │ ├── ConsumeForwardingMiddleware.cs
│ │ │ └── PublishForwardingMiddleware.cs
│ │ ├── PipeContextExtensions.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── RawRabbit.Enrichers.MessageContext.csproj
│ ├── RawRabbit.Enrichers.MessageContext.Respond
│ │ ├── PipeContextExtensions.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Enrichers.MessageContext.Respond.csproj
│ │ └── RespondMessageContextExtension.cs
│ ├── RawRabbit.Enrichers.MessageContext.Subscribe
│ │ ├── MessageContextSubscibeStage.cs
│ │ ├── PipeContextExtensions.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Enrichers.MessageContext.Subscribe.csproj
│ │ └── SubscribeMessageContextExtension.cs
│ ├── RawRabbit.Enrichers.MessagePack
│ │ ├── MessagePackFormat.cs
│ │ ├── MessagePackPlugin.cs
│ │ ├── MessagePackSerializerWorker.cs
│ │ └── RawRabbit.Enrichers.MessagePack.csproj
│ ├── RawRabbit.Enrichers.Polly
│ │ ├── Middleware
│ │ │ ├── BasicPublishMiddleware.cs
│ │ │ ├── ConsumerCreationMiddleware.cs
│ │ │ ├── ExchangeDeclareMiddleware.cs
│ │ │ ├── ExplicitAckMiddleware.cs
│ │ │ ├── HandlerInvocationMiddleware.cs
│ │ │ ├── PolicyMiddleware.cs
│ │ │ ├── PooledChannelMiddleware.cs
│ │ │ ├── QueueBindMiddleware.cs
│ │ │ ├── QueueDeclareMiddleware.cs
│ │ │ └── TransientChannelMiddleware.cs
│ │ ├── PipeContextExtensions.cs
│ │ ├── PolicyKeys.cs
│ │ ├── PollyPlugin.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Enrichers.Polly.csproj
│ │ ├── RetryKey.cs
│ │ └── Services
│ │ └── ChannelFactory.cs
│ ├── RawRabbit.Enrichers.Protobuf
│ │ ├── ProtobufPlugin.cs
│ │ ├── ProtobufSerializer.cs
│ │ └── RawRabbit.Enrichers.Protobuf.csproj
│ ├── RawRabbit.Enrichers.QueueSuffix
│ │ ├── ApplicationNamePipeExtension.cs
│ │ ├── ApplicationQueueSuffixPlugin.cs
│ │ ├── CustomQueueSuffixExtensions.cs
│ │ ├── CustomQueueSuffixPlugin.cs
│ │ ├── HostNamePipeExtensions.cs
│ │ ├── HostNameQueueSuffix.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── QueueSuffixMiddleware.cs
│ │ ├── QueueSuffixOptions.cs
│ │ ├── QueueSuffixPlugin.cs
│ │ └── RawRabbit.Enrichers.QueueSuffix.csproj
│ ├── RawRabbit.Enrichers.RetryLater
│ │ ├── Common
│ │ │ ├── Retry.cs
│ │ │ ├── RetryHeaders.cs
│ │ │ ├── RetryInformation.cs
│ │ │ ├── RetryInformationHeaderUpdater.cs
│ │ │ ├── RetryInformationProvider.cs
│ │ │ └── RetryLaterPipeContextExtensions.cs
│ │ ├── Middleware
│ │ │ ├── RetryInformationExtractionMiddleware.cs
│ │ │ └── RetryLaterMiddleware.cs
│ │ ├── RawRabbit.Enrichers.RetryLater.csproj
│ │ └── RetryLaterPlugin.cs
│ ├── RawRabbit.Enrichers.ZeroFormatter
│ │ ├── RawRabbit.Enrichers.ZeroFormatter.csproj
│ │ ├── ZeroFormatterPlugin.cs
│ │ └── ZeroFormatterSerializerWorker.cs
│ ├── RawRabbit.Operations.Get
│ │ ├── GetManyOfTOperation.cs
│ │ ├── GetOfTOperation.cs
│ │ ├── GetOperation.cs
│ │ ├── GetPipeExtensions.cs
│ │ ├── Middleware
│ │ │ ├── AckableResultMiddleware.cs
│ │ │ ├── BasicGetMiddleware.cs
│ │ │ ├── ConventionNamingMiddleware.cs
│ │ │ └── GetConfigurationMiddleware.cs
│ │ ├── Model
│ │ │ ├── AckableExtensions.cs
│ │ │ ├── AckableOfT.cs
│ │ │ └── GetKey.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── RawRabbit.Operations.Get.csproj
│ ├── RawRabbit.Operations.MessageSequence
│ │ ├── Configuration
│ │ │ ├── Abstraction
│ │ │ │ ├── IMessageChainPublisher.cs
│ │ │ │ ├── IMessageSequenceBuilder.cs
│ │ │ │ └── IStepOptionBuilder.cs
│ │ │ └── StepOptionBuilder.cs
│ │ ├── MessageSequenceExtension.cs
│ │ ├── Model
│ │ │ ├── ExecutionResult.cs
│ │ │ ├── ExecutionState.cs
│ │ │ ├── MessageSequence.cs
│ │ │ ├── StepDefinition.cs
│ │ │ └── StepOption.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Operations.MessageSequence.csproj
│ │ ├── StateMachine
│ │ │ ├── MessageSequence.cs
│ │ │ └── SequenceModel.cs
│ │ └── Trigger
│ │ └── MessageAndContextTriggerExtension.cs
│ ├── RawRabbit.Operations.Publish
│ │ ├── Context
│ │ │ ├── PublishContext.cs
│ │ │ └── PublishContextExtensions.cs
│ │ ├── Middleware
│ │ │ ├── PublishAcknowledgeMiddleware.cs
│ │ │ ├── PublishConfigurationMiddleware.cs
│ │ │ └── ReturnCallbackMiddleware.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── PublishKey.cs
│ │ ├── PublishMessageExtension.cs
│ │ ├── PublishStage.cs
│ │ └── RawRabbit.Operations.Publish.csproj
│ ├── RawRabbit.Operations.Request
│ │ ├── Configuration
│ │ │ ├── Abstraction
│ │ │ │ ├── IRequestConfigurationBuilder.cs
│ │ │ │ └── IRequestConfigurationFactory.cs
│ │ │ ├── RequestConfigurationBuilder.cs
│ │ │ ├── RequestConfiguration.cs
│ │ │ └── RequestConfigurationFactory.cs
│ │ ├── Context
│ │ │ ├── RequestContext.cs
│ │ │ └── RequestContextExtensions.cs
│ │ ├── Core
│ │ │ ├── PipeContextExtensions.cs
│ │ │ └── RequestKey.cs
│ │ ├── Middleware
│ │ │ ├── BasicPropertiesMiddleware.cs
│ │ │ ├── RequestConfigurationMiddleware.cs
│ │ │ ├── RequestTimeoutMiddleware.cs
│ │ │ ├── ResponderExceptionMiddleware.cs
│ │ │ └── ResponseConsumeMiddleware.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Operations.Request.csproj
│ │ └── RequestExtension.cs
│ ├── RawRabbit.Operations.Respond
│ │ ├── Acknowledgement
│ │ │ ├── Ack.cs
│ │ │ ├── AckOfT.cs
│ │ │ ├── Nack.cs
│ │ │ ├── Reject.cs
│ │ │ ├── Respond.cs
│ │ │ └── TypedAcknowlegement.cs
│ │ ├── Configuration
│ │ │ ├── RespondConfigurationBuilder.cs
│ │ │ ├── RespondConfiguration.cs
│ │ │ └── RespondConfigurationFactory.cs
│ │ ├── Context
│ │ │ ├── RespondContext.cs
│ │ │ └── RespondContextExtensions.cs
│ │ ├── Core
│ │ │ ├── PipeContextExtensions.cs
│ │ │ ├── RespondKey.cs
│ │ │ └── RespondStage.cs
│ │ ├── Middleware
│ │ │ ├── ReplyToExtractionMiddleware.cs
│ │ │ ├── RespondConfigurationMiddleware.cs
│ │ │ ├── RespondExceptionMiddleware.cs
│ │ │ └── ResponseHandlerOptionFactory.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Operations.Respond.csproj
│ │ └── RespondExtension.cs
│ ├── RawRabbit.Operations.StateMachine
│ │ ├── Context
│ │ │ └── StateMachineContext.cs
│ │ ├── Core
│ │ │ ├── GlobalLock.cs
│ │ │ ├── ModelRepository.cs
│ │ │ └── StateMachineActivator.cs
│ │ ├── Middleware
│ │ │ ├── GlobalLockMiddleware.cs
│ │ │ ├── ModelIdMiddleware.cs
│ │ │ ├── PersistModelMiddleware.cs
│ │ │ └── RetrieveStateMachineMiddleware.cs
│ │ ├── Model.cs
│ │ ├── PipeContextExtensions.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Operations.StateMachine.csproj
│ │ ├── StateMachineBase.cs
│ │ ├── StateMachineExtension.cs
│ │ ├── StateMachineKey.cs
│ │ ├── StateMachinePlugin.cs
│ │ └── Trigger
│ │ ├── TriggerConfigurationCollection.cs
│ │ ├── TriggerConfigurer.cs
│ │ └── TriggerFromMessageExtension.cs
│ ├── RawRabbit.Operations.Subscribe
│ │ ├── Context
│ │ │ ├── SubscribeContext.cs
│ │ │ └── SubscribeContextExtensions.cs
│ │ ├── Middleware
│ │ │ ├── SubscribeInvocationMiddleware.cs
│ │ │ ├── SubscriptionConfigurationMiddleware.cs
│ │ │ └── SubscriptionExceptionMiddleware.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── RawRabbit.Operations.Subscribe.csproj
│ │ ├── Stages
│ │ │ └── SubscribeStage.cs
│ │ └── SubscribeMessageExtension.cs
│ └── RawRabbit.Operations.Tools
│ ├── BasicConsumeExtension.cs
│ ├── BasicPublishExtension.cs
│ ├── BindQueueExtension.cs
│ ├── CreateChannelExtension.cs
│ ├── CreateConsumerExtension.cs
│ ├── DeclareExchangeExtension.cs
│ ├── DeclareQueueExtension.cs
│ ├── DeleteExchangeExtension.cs
│ ├── DeleteQueueExtension.cs
│ ├── Middleware
│ │ ├── ExchangeDeclarationMiddleware.cs
│ │ └── QueueDeclarationMiddleware.cs
│ └── RawRabbit.Operations.Tools.csproj
└── test
├── RawRabbit.Enrichers.Polly.Tests
│ ├── Middleware
│ │ └── QueueDeclareMiddlewareTests.cs
│ ├── packages.config
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RawRabbit.Enrichers.Polly.Tests.csproj
│ └── Services
│ └── ChannelFactoryTests.cs
├── RawRabbit.IntegrationTests
│ ├── Compatibility
│ │ ├── InteroperationFunctionalityTests.cs
│ │ └── LegacyClientTests.cs
│ ├── DependencyInjection
│ │ ├── AutofacTests.cs
│ │ ├── NinjectTests.cs
│ │ └── SimpleDependencyTests.cs
│ ├── Enrichers
│ │ ├── AttributeEnricherTests.cs
│ │ ├── GlobalExecutionIdTests.cs
│ │ ├── MessageContextTests.cs
│ │ ├── MessagePackTests.cs
│ │ ├── PolicyEnricherTests.cs
│ │ ├── ProtobufTests.cs
│ │ ├── QueueSuffixTests.cs
│ │ ├── RetryLaterEnricherTests.cs
│ │ └── ZeroFormatterEnricherTests.cs
│ ├── Features
│ │ ├── ConsumeThrottleTests.cs
│ │ ├── GenericMessagesTest.cs
│ │ └── GracefulShutdownTest.cs
│ ├── GetOperation
│ │ ├── BasicGetTests.cs
│ │ └── GetManyTests.cs
│ ├── IntegrationTestBase.cs
│ ├── MessageSequence
│ │ └── MessageSequenceTests.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── PublishAndSubscribe
│ │ ├── AcknowledgementSubscribeTests.cs
│ │ ├── CancellationTests.cs
│ │ ├── ConfigurationTests.cs
│ │ ├── MandatoryCallbackTests.cs
│ │ └── MultipleOperationsTests.cs
│ ├── RawRabbitFactory.cs
│ ├── RawRabbit.IntegrationTests.csproj
│ ├── Rpc
│ │ ├── AcknowledgementRespondTests.cs
│ │ ├── RpcExceptionPropagationTests.cs
│ │ ├── RpcFundamentalTests.cs
│ │ └── RpcTimeoutTests.cs
│ ├── StateMachine
│ │ ├── Generic
│ │ │ ├── GenericProcess.cs
│ │ │ ├── GenericProcessMessages.cs
│ │ │ ├── GenericProcessModel.cs
│ │ │ ├── ProcessTriggers.cs
│ │ │ ├── State.cs
│ │ │ └── Trigger.cs
│ │ └── StateMachineTests.cs
│ ├── TestMessages
│ │ ├── BasicMessage.cs
│ │ ├── BasicRequest.cs
│ │ ├── BasicResponse.cs
│ │ ├── DynamicMessage.cs
│ │ ├── FirstRequest.cs
│ │ ├── FirstResponse.cs
│ │ ├── GenericRequest.cs
│ │ ├── NamespacedMessages.cs
│ │ ├── NumberedMessages.cs
│ │ ├── SecondRequest.cs
│ │ ├── SecondResponse.cs
│ │ ├── SimpleMessage.cs
│ │ └── TestMessageContext.cs
│ └── xunit.runner.json
├── RawRabbit.PerformanceTest
│ ├── Harness.cs
│ ├── MessageContextBenchmarks.cs
│ ├── PubSubBenchmarks.cs
│ ├── RawRabbit.PerformanceTest.csproj
│ └── RpcBenchmarks.cs
└── RawRabbit.Tests
├── Channel
│ ├── ChannelFactoryTests.cs
│ ├── ChannelPoolTests.cs
│ └── DynamicChannelPoolTests.cs
├── Common
│ ├── ConnectionStringParserTests.cs
│ └── NamingConventionsTests.cs
├── Properties
│ └── AssemblyInfo.cs
├── rawrabbit.json
└── RawRabbit.Tests.csproj
148 directories, 504 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论