在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → RawRabbit:一个现代化的.NET框架,用于通过RabbitMQ进行通信

RawRabbit:一个现代化的.NET框架,用于通过RabbitMQ进行通信

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.45M
  • 下载次数:1
  • 浏览次数:55
  • 发布时间:2024-05-13
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

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

标签:

实例下载地址

RawRabbit:一个现代化的.NET框架,用于通过RabbitMQ进行通信

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警