├── .gitattributes
├── .gitignore
├── Build
├── EasyNetQ.proj
└── UpdateGitVersion.ps1
├── DatabaseScripts
└── EasyNetQ.Scheduler
│ ├── mssql
│ ├── CreateWorkTables.sql
│ ├── uspAddNewMessageToSchedule.sql
│ ├── uspCancelScheduledMessages.sql
│ ├── uspGetNextBatchOfMessages.sql
│ ├── uspMarkWorkItemForPurge.sql
│ └── uspWorkItemsSelfPurge.sql
│ └── postgres
│ ├── CreateWorkTables.sql
│ ├── uspAddNewMessageToSchedule.sql
│ ├── uspCancelScheduledMessages.sql
│ ├── uspGetNextBatchOfMessages.sql
│ ├── uspMarkWorkItemForPurge.sql
│ └── uspWorkItemsSelfPurge.sql
├── GitVersion.yml
├── Package
├── EasyNetQ.DI.Autofac
│ ├── EasyNetQ.DI.Autofac.nuspec
│ └── lib
│ │ └── net40
│ │ └── EasyNetQ.DI.Autofac.dll
├── EasyNetQ.DI.LightInject
│ └── EasyNetQ.DI.LightInject.nuspec
├── EasyNetQ.DI.Ninject
│ ├── EasyNetQ.DI.Ninject.nuspec
│ └── lib
│ │ └── net40
│ │ └── EasyNetQ.DI.Ninject.dll
├── EasyNetQ.DI.SimpleInjector
│ └── EasyNetQ.DI.SimpleInjector.nuspec
├── EasyNetQ.DI.StructureMap
│ ├── EasyNetQ.DI.StructureMap.nuspec
│ └── lib
│ │ └── net40
│ │ └── EasyNetQ.DI.StructureMap.dll
├── EasyNetQ.DI.Windsor
│ ├── EasyNetQ.DI.Windsor.nuspec
│ └── lib
│ │ └── net40
│ │ └── EasyNetQ.DI.Windsor.dll
├── EasyNetQ.Serilog
│ ├── EasyNetQ.Serilog.nuspec
│ └── lib
│ │ └── net40
│ │ └── EasyNetQ.Serilog.dll
└── EasyNetQ
│ └── EasyNetQ.nuspec
├── README.md
├── Source
├── EasyNetQ.DI.Autofac
│ ├── AutofacAdapter.cs
│ ├── AutofacMessageDispatcher.cs
│ ├── EasyNetQ.DI.Autofac.xproj
│ ├── InjectionExtensions.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.DI.LightInject
│ ├── EasyNetQ.DI.LightInject.xproj
│ ├── InjectionExtensions.cs
│ ├── LightInjectAdapter.cs
│ ├── LightInjectMessageDispatcher.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.DI.Ninject
│ ├── EasyNetQ.DI.Ninject.xproj
│ ├── InjectionExtensions.cs
│ ├── NinjectAdapter.cs
│ ├── NinjectMessageDispatcher.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.DI.SimpleInjector
│ ├── EasyNetQ.DI.SimpleInjector.xproj
│ ├── InjectionExtensions.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SimpleInjectorAdapter.cs
│ ├── SimpleInjectorMessageDispatcher.cs
│ └── project.json
├── EasyNetQ.DI.StructureMap
│ ├── EasyNetQ.DI.StructureMap.xproj
│ ├── InjectionExtensions.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── StructureMapAdapter.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.DI.Tests
│ ├── AutofacAdapterTests.cs
│ ├── EasyNetQ.DI.Tests.xproj
│ ├── LightInjectAdapterTests.cs
│ ├── MockBuilder.cs
│ ├── NinjectAdapterTests.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SimpleInjectorAdapterTests.cs
│ ├── StructureMapAdapterTests.cs
│ ├── StructureMapAdapterWithRegistryTests.cs
│ ├── WindsorAdapterTests.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.DI.Windsor
│ ├── EasyNetQ.DI.Windsor.xproj
│ ├── InjectionExtensions.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── WindsorAdapter.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.Hosepipe.Setup
│ ├── Debug
│ │ ├── EasyNetQ.Hosepipe.Setup.msi
│ │ └── setup.exe
│ └── EasyNetQ.Hosepipe.Setup.vdproj
├── EasyNetQ.Hosepipe.SetupActions
│ ├── EasyNetQ.Hosepipe.SetupActions.csproj
│ ├── EasyNetQ.Hosepipe.SetupActions.xproj
│ ├── HosepipeInstaller.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── project.json
├── EasyNetQ.Hosepipe.Tests
│ ├── ArgParserTests.cs
│ ├── EasyNetQ.Hosepipe.Tests.csproj
│ ├── EasyNetQ.Hosepipe.Tests.xproj
│ ├── ErrorMessageRepublishSpike.cs
│ ├── ErrorRetryTests.cs
│ ├── FileMessageWriterTests.cs
│ ├── Helper.cs
│ ├── MessageReaderTests.cs
│ ├── ProgramIntegrationTests.cs
│ ├── ProgramTests.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── QueueInsertionTests.cs
│ ├── QueueRetrievalTests.cs
│ ├── TestExtensions.cs
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Hosepipe
│ ├── ArgParser.cs
│ ├── EasyNetQ.Hosepipe.csproj
│ ├── EasyNetQ.Hosepipe.xproj
│ ├── EasyNetQHosepipeException.cs
│ ├── ErrorRetry.cs
│ ├── FileMessageWriter.cs
│ ├── HosepipeConnection.cs
│ ├── HosepipeMessage.cs
│ ├── IErrorRetry.cs
│ ├── IMessageReader.cs
│ ├── IMessageWriter.cs
│ ├── IQueueInsertion.cs
│ ├── MessageReader.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── QueueInsertion.cs
│ ├── QueueParameters.cs
│ ├── QueueRetrieval.cs
│ ├── Usage.txt
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.LogReader
│ ├── EasyNetQ.LogReader.csproj
│ ├── EasyNetQ.LogReader.xproj
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Scheduler.Mongo.Core
│ ├── EasyNetQ.Scheduler.Mongo.Core.csproj
│ ├── EasyNetQ.Scheduler.Mongo.Core.xproj
│ ├── IScheduleRepositoryConfiguration.cs
│ ├── ISchedulerService.cs
│ ├── ISchedulerServiceConfiguration.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Schedule.cs
│ ├── ScheduleRepository.cs
│ ├── ScheduleState.cs
│ ├── SchedulerService.cs
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Scheduler.Mongo.Tests
│ ├── EasyNetQ.Scheduler.Mongo.Tests.csproj
│ ├── EasyNetQ.Scheduler.Mongo.Tests.xproj
│ ├── MockScheduleRepository.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ScheduleRepositoryTests.cs
│ ├── SchedulerServiceTests.cs
│ ├── TestExtensions.cs
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Scheduler.Mongo
│ ├── ConfigurationBase.cs
│ ├── EasyNetQ.Scheduler.Mongo.csproj
│ ├── EasyNetQ.Scheduler.Mongo.xproj
│ ├── Logger.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ScheduleRepositoryConfiguration.cs
│ ├── SchedulerServiceConfiguration.cs
│ ├── SchedulerServiceFactory.cs
│ ├── app.config
│ ├── log4net.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Scheduler.Tests
│ ├── EasyNetQ.Scheduler.Tests.csproj
│ ├── EasyNetQ.Scheduler.Tests.xproj
│ ├── MockScheduleRepository.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ScheduleRepositoryTests.cs
│ ├── SchedulerServiceTests.cs
│ ├── TestExtensions.cs
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Scheduler
│ ├── ConfigurationBase.cs
│ ├── EasyNetQ.Scheduler.csproj
│ ├── EasyNetQ.Scheduler.xproj
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── ScheduleRepository.cs
│ ├── ScheduleRepositoryConfiguration.cs
│ ├── SchedulerService.cs
│ ├── SchedulerServiceConfiguration.cs
│ ├── SchedulerServiceFactory.cs
│ ├── SqlDialect.cs
│ ├── app.config
│ ├── log4net.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Serilog
│ ├── EasyNetQ.Serilog.xproj
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SerilogLogger.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.Tests.Common
│ ├── EasyNetQ.Tests.Common.xproj
│ ├── Messages.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Traits
│ │ ├── Category.cs
│ │ ├── CategoryAttribute.cs
│ │ ├── CategoryDiscoverer.cs
│ │ ├── ExplicitAttribute.cs
│ │ └── IntegrationAttribute.cs
│ └── project.json
├── EasyNetQ.Tests.Performance.Consumer
│ └── app.config
├── EasyNetQ.Tests.Performance.Producer
│ └── app.config
├── EasyNetQ.Tests.SimpleRequester
│ └── app.config
├── EasyNetQ.Tests.Tasks
│ ├── App.config
│ ├── CommandLineTaskRunner.cs
│ ├── EasyNetQ.Tests.Tasks.csproj
│ ├── EasyNetQ.Tests.Tasks.csproj.DotSettings
│ ├── EasyNetQ.Tests.Tasks.xproj
│ ├── NoDebugLogger.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Tasks
│ │ ├── SimpleRequester
│ │ │ ├── ILatencyRecorder.cs
│ │ │ ├── LatencyRecorder.cs
│ │ │ └── SimpleRequester.cs
│ │ ├── TestConsumeMultipleMessageTypesFromSingleQueue.cs
│ │ ├── TestPerformanceConsumer.cs
│ │ ├── TestPerformanceProducer.cs
│ │ ├── TestScheduledMessages.cs
│ │ └── TestSimpleService.cs
│ ├── packages.config
│ └── project.json
├── EasyNetQ.Tests
│ ├── AdvancedBusEventHandlersTests.cs
│ ├── AmqpExceptionParserTests.cs
│ ├── AutoSubscriberTests
│ │ ├── When_autosubscribing.cs
│ │ ├── When_autosubscribing_with_assembly_scanning.cs
│ │ ├── When_autosubscribing_with_subscription_configuration.cs
│ │ ├── When_autosubscribing_with_subscription_configuration_action.cs
│ │ ├── When_autosubscribing_with_subscription_configuration_action_and_attribute.cs
│ │ └── When_autosubscribing_with_subscription_configuration_attribute_no_expires.cs
│ ├── BlockedConnectionNotificationTests.cs
│ ├── ClientCommandDispatcherTests
│ │ ├── When_an_action_is_invoked.cs
│ │ └── When_an_action_is_invoked_that_throws.cs
│ ├── ConnectionConfigurationTests.cs
│ ├── ConnectionFactoryWrapperTests.cs
│ ├── ConnectionString
│ │ ├── ConnectionStringGrammarTests.cs
│ │ └── ConnectionStringParserTests.cs
│ ├── ConnectionStringTests.cs
│ ├── ConsumeTests
│ │ ├── AckStrategyTests.cs
│ │ ├── ConsumerTestBase.cs
│ │ ├── HandlerCollectionTests.cs
│ │ ├── When_a_consumer_has_multiple_handlers.cs
│ │ ├── When_a_consumer_is_cancelled_by_the_broker.cs
│ │ ├── When_a_consumer_is_cancelled_by_the_user.cs
│ │ ├── When_a_message_is_delivered_to_the_consumer.cs
│ │ ├── When_a_message_is_received.cs
│ │ ├── When_a_polymorphic_message_is_delivered_to_the_consumer.cs
│ │ ├── When_an_error_occurs_in_the_message_handler.cs
│ │ ├── When_cancellation_of_message_handler_occurs.cs
│ │ └── When_consume_is_called.cs
│ ├── ConsumerDispatcherFactoryTests.cs
│ ├── ConventionsTests.cs
│ ├── DefaultMessageConsumerTests.cs
│ ├── DefaultMessageSerializationStrategyTests.cs
│ ├── DefaultServiceProviderTests.cs
│ ├── DeliveryModeStrategyTest.cs
│ ├── EasyNetQ.Tests.xproj
│ ├── EventBusTests.cs
│ ├── ExchangeQueueBindingTests.cs
│ ├── FluentConfiguration
│ │ └── PublishConfigurationTests.cs
│ ├── HandlerRunnerTests
│ │ └── When_a_user_handler_is_executed.cs
│ ├── Integration
│ │ ├── AdvancedApiExamples.cs
│ │ ├── AdvancedApiPingPongTest.cs
│ │ ├── AdvancedApiPingPongTest_with_transient_queue.cs
│ │ ├── AdvancedApiTransientQueueTests.cs
│ │ ├── AdvancedBusTests.cs
│ │ ├── AmqpStringSizeExperiments.cs
│ │ ├── AutoSubscriberIntegrationTests.cs
│ │ ├── ChannelExceptionBug.cs
│ │ ├── ClientCommandDispatcherTests.cs
│ │ ├── ClusterTests.cs
│ │ ├── ConnectionErrorConditionsTests.cs
│ │ ├── ConsumerErrorConditionsTests.cs
│ │ ├── ConsumerShutdownTests.cs
│ │ ├── DefaultConsumerErrorStrategyTests.cs
│ │ ├── DeleteQueueWhileConsuming.cs
│ │ ├── ExceptionConditionsTests.cs
│ │ ├── Helpers.cs
│ │ ├── LongRunningServer.js
│ │ ├── MultiThreadedPublisherTests.cs
│ │ ├── MultipleHandlerPerConsumerTests.cs
│ │ ├── NonGenericExtensionsIntegrationTests.cs
│ │ ├── PersistentChannelTests.cs
│ │ ├── PolymorphicPubSub.cs
│ │ ├── PolymorphicRpc.cs
│ │ ├── PublishSubscribeTests.cs
│ │ ├── PublishSubscribeWithInterceptionTest.cs
│ │ ├── PublishSubscribeWithTopicsTests.cs
│ │ ├── PublisherConfirmsIntegrationTests.cs
│ │ ├── RequestResponseTests.cs
│ │ ├── RpcTests.cs
│ │ ├── Scheduling
│ │ │ ├── DeadLetterExchangeAndMessageTtlSchedulerTests.cs
│ │ │ ├── DelayedExchangeSchedulerTests.cs
│ │ │ ├── ExternalSchedulerTests.cs
│ │ │ └── PartyInvitation.cs
│ │ ├── SendReceiveIntegrationTests.cs
│ │ ├── SimpleSagaSpike.cs
│ │ ├── SubscribeAsyncTests.cs
│ │ ├── SubscribeToErrorQueueSpike.cs
│ │ ├── SubscribeWithExpiresTests.cs
│ │ ├── SubscriberOfSpike.cs
│ │ └── When_a_message_with_a_long_type_name_is_published.cs
│ ├── Interception
│ │ ├── BuildInInterceptorsTests.cs
│ │ └── InterceptionExtensionsTests.cs
│ ├── Internals
│ │ └── AsyncSemaphoreTest.cs
│ ├── JsonSerializerTests.cs
│ ├── MessageFactoryTests.cs
│ ├── MessagePropertiesTests.cs
│ ├── MessageVersioningTests
│ │ ├── MessageTypePropertyTests.cs
│ │ ├── MessageVersionStackTests.cs
│ │ ├── MessageVersioningExtensionsTests.cs
│ │ ├── MyMessageV2.cs
│ │ ├── VersionedMessageSerializationStrategyTests.cs
│ │ └── VersionedPublishExchangeDeclareStrategyTests.cs
│ ├── MessageWithVeryVEryVEryLongNameThatWillMostCertainlyBreakAmqpsSilly255CharacterNameLimitThatIsAlmostCertainToBeReachedWithGenericTypes.cs
│ ├── Mocking
│ │ └── MockBuilder.cs
│ ├── ModelCleanupTests.cs
│ ├── MultipleExchangeTest
│ │ ├── IMessageInterfaceOne.cs
│ │ ├── IMessageInterfaceTwo.cs
│ │ ├── MessageWithTwoInterfaces.cs
│ │ └── MultipleExchangePublishExchangeDeclareStrategyTests.cs
│ ├── NonGeneric
│ │ └── NonGenericExtensionsTests.cs
│ ├── OrderedClusterHostSelectionStrategyTests.cs
│ ├── PersistentChannelTests
│ │ ├── When_a_ConnectionCreatedEvent_is_published.cs
│ │ ├── When_a_channel_action_is_invoked.cs
│ │ ├── When_an_action_is_performed_on_a_closed_channel_that_doesnt_open_again.cs
│ │ └── When_an_action_is_performed_on_a_closed_channel_that_then_opens.cs
│ ├── PersistentConnectionTests.cs
│ ├── PersistentConsumerTests
│ │ ├── Given_a_PersistentConsumer.cs
│ │ ├── When_a_Persistent_consumer_is_created.cs
│ │ ├── When_disposed.cs
│ │ └── When_the_connection_is_broken.cs
│ ├── ProducerTests
│ │ ├── PublishConfirmationListenerTest.cs
│ │ ├── PublishExchangeDeclareStrategyTests.cs
│ │ ├── When_IModel_throws.cs
│ │ ├── When_a_message_is_sent.cs
│ │ ├── When_a_polymorphic_message_is_sent.cs
│ │ ├── When_a_request_is_sent.cs
│ │ ├── When_a_request_is_sent_but_an_exception_is_thrown_by_responder.cs
│ │ ├── When_a_request_is_sent_but_no_reply_is_received.cs
│ │ └── When_a_request_is_sent_but_the_connection_closes_before_a_reply_is_received.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── PublishTests.cs
│ ├── RabbitHutchTests.cs
│ ├── RandomClusterHostSelectionStrategyTests.cs
│ ├── ReflectionHelpersTests.cs
│ ├── Scheduling
│ │ └── SchedulingExtensionsTests.cs
│ ├── StubCorrelationIdGenerator.cs
│ ├── SubscribeTests.cs
│ ├── TestExtensions.cs
│ ├── TestMessage.cs
│ ├── TimeoutStrategyTest.cs
│ ├── TypeNameSerializerTests.cs
│ ├── app.config
│ └── project.json
├── EasyNetQ.Trace
│ ├── CSVFile.cs
│ ├── EasyNetQ.Trace.csproj
│ ├── EasyNetQ.Trace.xproj
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Readme.md
│ ├── app.config
│ ├── packages.config
│ └── project.json
├── EasyNetQ.sln
├── EasyNetQ.sln.DotSettings
├── EasyNetQ
│ ├── AdvancedBusEventHandlers.cs
│ ├── AmqpExceptions
│ │ ├── AmpqExceptionGrammar.cs
│ │ └── AmqpException.cs
│ ├── AutoSubscribe
│ │ ├── AutoSubscriber.cs
│ │ ├── AutoSubscriberConsumerAttribute.cs
│ │ ├── AutoSubscriberConsumerInfo.cs
│ │ ├── DefaultAutoSubscriberMessageDispatcher.cs
│ │ ├── ForTopicAttribute.cs
│ │ ├── IAutoSubscriberMessageDispatcher.cs
│ │ ├── IConsume.cs
│ │ ├── IConsumeAsync.cs
│ │ └── SubscriptionConfigurationAttribute.cs
│ ├── BasicGetResult.cs
│ ├── ComponentRegistration.cs
│ ├── ConnectionConfiguration.cs
│ ├── ConnectionString
│ │ ├── ConnectionStringGrammar.cs
│ │ └── IConnectionStringParser.cs
│ ├── Consumer
│ │ ├── AckStrategies.cs
│ │ ├── Base64ErrorMessageSerializer.cs
│ │ ├── ConsumerCancellation.cs
│ │ ├── ConsumerDispatcher.cs
│ │ ├── ConsumerDispatcherFactory.cs
│ │ ├── ConsumerExecutionContext.cs
│ │ ├── ConsumerFactory.cs
│ │ ├── DefaultConsumerErrorStrategy.cs
│ │ ├── DefaultErrorMessageSerializer.cs
│ │ ├── ExclusiveConsumer.cs
│ │ ├── HandlerCollection.cs
│ │ ├── HandlerCollectionFactory.cs
│ │ ├── HandlerCollectionPerQueueFactory.cs
│ │ ├── HandlerRunner.cs
│ │ ├── IConsumer.cs
│ │ ├── IConsumerConfiguration.cs
│ │ ├── IConsumerDispatcher.cs
│ │ ├── IConsumerDispatcherFactory.cs
│ │ ├── IConsumerErrorStrategy.cs
│ │ ├── IConsumerFactory.cs
│ │ ├── IErrorMessageSerializer.cs
│ │ ├── IHandlerCollectionFactory.cs
│ │ ├── IHandlerRegistration.cs
│ │ ├── IReceiveRegistration.cs
│ │ ├── InternalConsumer.cs
│ │ ├── InternalConsumerFactory.cs
│ │ ├── PersistentConsumer.cs
│ │ ├── PersistentMultipleConsumer.cs
│ │ ├── StartConsumingStatus.cs
│ │ └── TransientConsumer.cs
│ ├── Conventions.cs
│ ├── DefaultCorrelationIdGenerationStrategy.cs
│ ├── DefaultMessageSerializationStrategy.cs
│ ├── DefaultServiceProvider.cs
│ ├── DeliveryModeAttribute.cs
│ ├── EasyNetQ.xproj
│ ├── EasyNetQException.cs
│ ├── Events
│ │ ├── AckEvent.cs
│ │ ├── ConnectionBlockedEvent.cs
│ │ ├── ConnectionCreatedEvent.cs
│ │ ├── ConnectionDisconnectedEvent.cs
│ │ ├── ConnectionUnblockedEvent.cs
│ │ ├── ConsumerModelDisposedEvent.cs
│ │ ├── DeliveredMessageEvent.cs
│ │ ├── MessageConfirmationEvent.cs
│ │ ├── PublishChannelCreatedEvent.cs
│ │ ├── PublishedMessageEvent.cs
│ │ ├── ReturnedMessageEvent.cs
│ │ ├── StartConsumingFailedEvent.cs
│ │ ├── StartConsumingSucceededEvent.cs
│ │ └── StoppedConsumingEvent.cs
│ ├── Extensions.cs
│ ├── FluentConfiguration
│ │ ├── IPublishConfiguration.cs
│ │ └── ISubscriptionConfiguration.cs
│ ├── IAdvancedBus.cs
│ ├── IBus.cs
│ ├── IClusterHostSelectionStrategy.cs
│ ├── IConnectionFactory.cs
│ ├── ICorrelationIdGenerationStrategy.cs
│ ├── IEasyNetQLogger.cs
│ ├── IEventBus.cs
│ ├── IMessage.cs
│ ├── IMessageSerializationStrategy.cs
│ ├── IPersistentConnectionFactory.cs
│ ├── ISerializer.cs
│ ├── IServiceProvider.cs
│ ├── ISubscriptionResult.cs
│ ├── ITimeoutStrategy.cs
│ ├── Interception
│ │ ├── CompositeInterceptor.cs
│ │ ├── DefaultInterceptor.cs
│ │ ├── GZipInterceptor.cs
│ │ ├── IProduceConsumeInterceptor.cs
│ │ ├── InterceptionExtensions.cs
│ │ ├── InterceptorRegistrator.cs
│ │ ├── RawMessage.cs
│ │ └── TripleDESInterceptor.cs
│ ├── Internals
│ │ ├── AsyncSemaphore.cs
│ │ └── TaskHelpers.cs
│ ├── JsonSerializer.cs
│ ├── LinqExtensions.cs
│ ├── Loggers
│ │ ├── ConsoleLogger.cs
│ │ ├── DelegateLogger.cs
│ │ └── NullLogger.cs
│ ├── MessageDeliveryMode.cs
│ ├── MessageDeliveryModeStrategy.cs
│ ├── MessageFactory.cs
│ ├── MessageProperties.cs
│ ├── MessageReceivedInfo.cs
│ ├── MessageReturnedEventArgs.cs
│ ├── MessageReturnedInfo.cs
│ ├── MessageVersioning
│ │ ├── ISupersede.cs
│ │ ├── MessageType.cs
│ │ ├── MessageTypeProperty.cs
│ │ ├── MessageVersionStack.cs
│ │ ├── MessageVersioningExtensions.cs
│ │ ├── VersionedMessageSerializationStrategy.cs
│ │ └── VersionedPublishExchangeDeclareStrategy.cs
│ ├── MultipleExchange
│ │ ├── MultipleExchangeExtension.cs
│ │ └── MultipleExchangePublishExchangeDeclareStrategy.cs
│ ├── NonGeneric
│ │ └── NonGenericExtensions.cs
│ ├── OrderedClusterHostSelectionStrategy.cs
│ ├── PersistentConnection.cs
│ ├── PersistentConnectionFactory.cs
│ ├── Preconditions.cs
│ ├── Producer
│ │ ├── ClientCommandDispatcher.cs
│ │ ├── ClientCommandDispatcherSingleton.cs
│ │ ├── IClientCommandDispatcher.cs
│ │ ├── IClientCommandDispatcherFactory.cs
│ │ ├── IPersistentChannel.cs
│ │ ├── IPersistentChannelFactory.cs
│ │ ├── IPublishConfirmationListener.cs
│ │ ├── IPublishConfirmationWaiter.cs
│ │ ├── IPublishExchangeDeclareStrategy.cs
│ │ ├── IResponderConfiguration.cs
│ │ ├── IRpc.cs
│ │ ├── ISendReceive.cs
│ │ ├── PersistentChannel.cs
│ │ ├── PublishConfirmationListener.cs
│ │ ├── PublishConfirmationWaiter.cs
│ │ ├── PublishExchangeDeclareStrategy.cs
│ │ ├── PublishInterruptedException.cs
│ │ ├── PublishNackedException.cs
│ │ ├── Rpc.cs
│ │ └── SendReceive.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── QueueAttribute.cs
│ ├── QueueConsumerPair.cs
│ ├── RabbitAdvancedBus.cs
│ ├── RabbitBus.cs
│ ├── RabbitHutch.cs
│ ├── RandomClusterHostSelectionStrategy.cs
│ ├── ReflectionHelpers.cs
│ ├── Scheduling
│ │ ├── BusExtensions.cs
│ │ ├── DeadLetterExchangeAndMessageTtlScheduler.cs
│ │ ├── DelayedExchangeScheduler.cs
│ │ ├── ExternalScheduler.cs
│ │ ├── IScheduler.cs
│ │ └── SchedulingExtensions.cs
│ ├── Sprache
│ │ ├── Failure.cs
│ │ ├── IFailure.cs
│ │ ├── IResultOfT.cs
│ │ ├── ISuccess.cs
│ │ ├── Input.cs
│ │ ├── Parse.cs
│ │ ├── ParseException.cs
│ │ ├── ParserOfT.cs
│ │ ├── ResultHelper.cs
│ │ └── Success.cs
│ ├── SubscriptionResult.cs
│ ├── SystemMessages
│ │ ├── Error.cs
│ │ ├── ScheduleMe.cs
│ │ └── UnscheduleMe.cs
│ ├── TimeBudget.cs
│ ├── TimeoutSecondsAttribute.cs
│ ├── Topology
│ │ ├── Binding.cs
│ │ ├── Exchange.cs
│ │ ├── ExchangeType.cs
│ │ ├── IBindable.cs
│ │ ├── IBinding.cs
│ │ ├── IExchange.cs
│ │ ├── IQueue.cs
│ │ └── Queue.cs
│ ├── TypeNameSerializer.cs
│ └── project.json
├── NuGet.Config
├── Version.cs
└── build-core.bat
├── Tools
├── ILRepack
│ └── ILRepack.exe
├── MSBuildCommunityTasks
│ ├── MSBuild.Community.Tasks.Targets
│ ├── MSBuild.Community.Tasks.dll
│ ├── MSBuild.Community.Tasks.pdb
│ ├── MSBuild.Community.Tasks.xml
│ └── MSBuild.Community.Tasks.xsd
├── NUnit
│ └── 2.5
│ │ ├── TestDriven.Framework.dll
│ │ ├── addins.txt
│ │ ├── framework
│ │ ├── nunit.framework.dll
│ │ ├── nunit.framework.dll.tdnet
│ │ └── nunit.framework.xml
│ │ ├── lib
│ │ ├── nunit-console-runner.dll
│ │ ├── nunit-gui-runner.dll
│ │ ├── nunit.core.dll
│ │ ├── nunit.core.interfaces.dll
│ │ ├── nunit.uiexception.dll
│ │ ├── nunit.uikit.dll
│ │ └── nunit.util.dll
│ │ ├── license.txt
│ │ ├── nunit-agent-x86.exe
│ │ ├── nunit-agent-x86.exe.config
│ │ ├── nunit-agent.exe
│ │ ├── nunit-agent.exe.config
│ │ ├── nunit-console-x86.exe
│ │ ├── nunit-console-x86.exe.config
│ │ ├── nunit-console.exe
│ │ ├── nunit-console.exe.config
│ │ ├── nunit-x86.exe
│ │ ├── nunit-x86.exe.config
│ │ ├── nunit.exe
│ │ ├── nunit.exe.config
│ │ └── nunit.tdnet.dll
└── NuGet
│ └── NuGet.exe
├── appveyor.gitversion.yml
├── appveyor.yml
├── build.bat
├── global.json
├── hall_of_fame.md
└── licence.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/mssql/uspCancelScheduledMessages.sql:
--------------------------------------------------------------------------------
1 | SET ANSI_NULLS ON
2 | GO
3 | SET QUOTED_IDENTIFIER ON
4 | GO
5 |
6 | IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[uspCancelScheduledMessages]') AND type_desc IN ('SQL_STORED_PROCEDURE'))
7 | BEGIN
8 | PRINT 'Dropping procedure [dbo].[uspCancelScheduledMessages]'
9 | DROP PROCEDURE [dbo].[uspCancelScheduledMessages]
10 | END
11 | GO
12 |
13 | PRINT 'Creating procedure [dbo].[uspCancelScheduledMessages]'
14 | GO
15 |
16 | CREATE PROCEDURE [dbo].[uspCancelScheduledMessages]
17 | @CancellationKey NVARCHAR(255)
18 | AS
19 |
20 | DELETE FROM WorkItems WHERE CancellationKey = @CancellationKey
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/mssql/uspMarkWorkItemForPurge.sql:
--------------------------------------------------------------------------------
1 | SET ANSI_NULLS ON
2 | GO
3 | SET QUOTED_IDENTIFIER ON
4 | GO
5 |
6 | IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[uspMarkWorkItemForPurge]') AND type_desc IN ('SQL_STORED_PROCEDURE'))
7 | BEGIN
8 | PRINT 'Dropping procedure [dbo].[uspMarkWorkItemForPurge]'
9 | DROP PROCEDURE [dbo].[uspMarkWorkItemForPurge]
10 | END
11 | GO
12 |
13 | PRINT 'Creating procedure [dbo].[uspMarkWorkItemForPurge]'
14 | GO
15 |
16 | CREATE PROCEDURE [dbo].[uspMarkWorkItemForPurge]
17 | @ID INT = 0, @purgeDate datetime = NULL
18 |
19 | AS
20 |
21 | -- Performs the UPDATE and OUTPUTs the INSERTED. fields to the calling app
22 | UPDATE WorkItemStatus
23 | SET PurgeDate = @purgeDate
24 | OUTPUT INSERTED.WorkItemID, INSERTED.purgeDate
25 | FROM WorkItemStatus ws
26 | WHERE WorkItemID = @ID
27 |
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/mssql/uspWorkItemsSelfPurge.sql:
--------------------------------------------------------------------------------
1 | SET ANSI_NULLS ON
2 | GO
3 | SET QUOTED_IDENTIFIER ON
4 | GO
5 |
6 | IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[uspWorkItemsSelfPurge]') AND type_desc IN ('SQL_STORED_PROCEDURE'))
7 | BEGIN
8 | PRINT 'Dropping procedure [dbo].[uspWorkItemsSelfPurge]'
9 | DROP PROCEDURE [dbo].[uspWorkItemsSelfPurge]
10 | END
11 | GO
12 |
13 | PRINT 'Creating procedure [dbo].[uspWorkItemsSelfPurge]'
14 | GO
15 |
16 | CREATE Procedure [dbo].[uspWorkItemsSelfPurge] @rows SmallINT = 5, @purgeDate DateTime = NULL
17 |
18 | AS
19 |
20 | -- Only execute if there is work to do and continue
21 | -- until all records with a PurgeDate <= now are deleted
22 | WHILE EXISTS(SELECT * FROM WorkItemStatus WHERE PurgeDate <= @purgeDate)
23 | BEGIN
24 | -- NB: the FK in WorkItemStatus has ON DELETE CASCADE,
25 | -- so it will delete corresponding rows automatically
26 | DELETE TOP (@rows) WorkItems
27 | FROM WorkItems wi
28 | INNER JOIN WorkItemStatus ws
29 | ON wi.WorkItemID = ws.WorkItemID
30 | WHERE ws.PurgeDate <= @purgeDate
31 | END -- WHILE EXISTS()
32 |
33 |
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/CreateWorkTables.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/CreateWorkTables.sql
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspAddNewMessageToSchedule.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspAddNewMessageToSchedule.sql
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspCancelScheduledMessages.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspCancelScheduledMessages.sql
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspGetNextBatchOfMessages.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspGetNextBatchOfMessages.sql
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspMarkWorkItemForPurge.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspMarkWorkItemForPurge.sql
--------------------------------------------------------------------------------
/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspWorkItemsSelfPurge.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/DatabaseScripts/EasyNetQ.Scheduler/postgres/uspWorkItemsSelfPurge.sql
--------------------------------------------------------------------------------
/GitVersion.yml:
--------------------------------------------------------------------------------
1 | assembly-versioning-scheme: MajorMinorPatch
2 | next-version: 2.0.4
3 | mode: ContinuousDelivery
4 | branches:
5 | master:
6 | mode: ContinuousDelivery
7 | features?[/-]:
8 | mode: ContinuousDeployment
9 | ignore:
10 | sha: []
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Autofac/EasyNetQ.DI.Autofac.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.Autofac
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.Autofac
8 | Wiebe Tijsma, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use Autofac as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2015
18 | RabbitMQ Messaging AMQP REST API Autofac
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Autofac/lib/net40/EasyNetQ.DI.Autofac.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/Package/EasyNetQ.DI.Autofac/lib/net40/EasyNetQ.DI.Autofac.dll
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.LightInject/EasyNetQ.DI.LightInject.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.LightInject
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.LightInject
8 | Jeff Doolittle, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use LightInject as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2016
18 | RabbitMQ Messaging AMQP REST API LightInject
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Ninject/EasyNetQ.DI.Ninject.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.Ninject
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.Ninject
8 | Jeff Doolittle, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use Ninject as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2015
18 | RabbitMQ Messaging AMQP REST API Ninject
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Ninject/lib/net40/EasyNetQ.DI.Ninject.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/Package/EasyNetQ.DI.Ninject/lib/net40/EasyNetQ.DI.Ninject.dll
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.SimpleInjector/EasyNetQ.DI.SimpleInjector.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.SimpleInjector
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.SimpleInjector
8 | Jeff Doolittle, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use SimpleInjector as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2015
18 | RabbitMQ Messaging AMQP REST API SimpleInjector
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.StructureMap/EasyNetQ.DI.StructureMap.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.StructureMap
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.StructureMap
8 | Jeff Doolittle, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use StructureMap as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2013
18 | RabbitMQ Messaging AMQP REST API StructureMap
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.StructureMap/lib/net40/EasyNetQ.DI.StructureMap.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/Package/EasyNetQ.DI.StructureMap/lib/net40/EasyNetQ.DI.StructureMap.dll
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Windsor/EasyNetQ.DI.Windsor.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.DI.Windsor
5 |
6 | 1.0.0.0
7 | EasyNetQ.DI.Windsor
8 | Jeff Doolittle, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Using-Alternative-DI-Containers
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An adaptor to allow EasyNetQ to use Castle.Windsor as its internal IoC container
15 |
16 |
17 | Copyright Mike Hadlow 2015
18 | RabbitMQ Messaging AMQP REST API Windsor
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.DI.Windsor/lib/net40/EasyNetQ.DI.Windsor.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/Package/EasyNetQ.DI.Windsor/lib/net40/EasyNetQ.DI.Windsor.dll
--------------------------------------------------------------------------------
/Package/EasyNetQ.Serilog/EasyNetQ.Serilog.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ.Serilog
5 |
6 | 1.0.0.0
7 | EasyNetQ.Serilog
8 | Wiebe Tijsma, Mike Hadlow
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | https://github.com/EasyNetQ/EasyNetQ/wiki/Logging
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | An Implementation to use Serilog as a logging component for EasyNetQ
15 |
16 |
17 | Copyright Wiebe Tijsma 2015
18 | RabbitMQ Messaging AMQP REST API Serilog
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Package/EasyNetQ.Serilog/lib/net40/EasyNetQ.Serilog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehadlow/EasyNetQ/ed42ffff03d40ef800654ac4bf1099e6aa8a3a4a/Package/EasyNetQ.Serilog/lib/net40/EasyNetQ.Serilog.dll
--------------------------------------------------------------------------------
/Package/EasyNetQ/EasyNetQ.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | EasyNetQ
5 |
6 | 1.0.0.0
7 | EasyNetQ
8 | Mike Hadlow, Contributors (see GitHub repo)
9 | Mike Hadlow
10 | https://github.com/EasyNetQ/EasyNetQ/blob/master/licence.txt
11 | http://easynetq.com/
12 | https://raw.githubusercontent.com/EasyNetQ/EasyNetQ/gh-pages/design/logo_design.png
13 | false
14 | EasyNetQ is a simple, opinionated .NET API for RabbitMQ
15 |
16 |
17 | Copyright Mike Hadlow 2015
18 | RabbitMQ Messaging AMQP
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Autofac/EasyNetQ.DI.Autofac.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 9d8e2017-010d-4a62-8634-cb702a99d6be
10 | EasyNetQ.DI.Autofac2
11 | .\obj
12 | .\bin\
13 | v4.6.1
14 |
15 |
16 | 2.0
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Autofac/InjectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Autofac;
3 |
4 | namespace EasyNetQ.DI
5 | {
6 | public static class InjectionExtensions
7 | {
8 | public static Autofac.IContainer RegisterAsEasyNetQContainerFactory(this ContainerBuilder builder, Func busCreator)
9 | {
10 | var adapter = new AutofacAdapter(builder);
11 |
12 | RabbitHutch.SetContainerFactory(() => adapter);
13 |
14 | var container = adapter.Container;
15 |
16 | var bus = busCreator();
17 |
18 | adapter.Register(provider => bus);
19 |
20 | return container;
21 | }
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Autofac/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("EasyNetQ.DI.Autofac")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("EasyNetQ")]
11 | [assembly: AssemblyProduct("EasyNetQ.DI.Autofac")]
12 | [assembly: AssemblyCopyright("Copyright © EasyNetQ 2013")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("48a6ab6e-90a4-4712-a00b-f12059871681")]
23 | [assembly: AssemblyVersion("2.0.4.0")]
24 | [assembly: AssemblyInformationalVersion("2.0.4-netcore.1435+Branch.feature/netcore.Sha.a997be04162dfa34c99681e265733c91c0d564f3")]
25 | [assembly: AssemblyFileVersion("2.0.4.0")]
26 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Autofac/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.LightInject/EasyNetQ.DI.LightInject.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 |
10 | caa56dec-6d0c-4141-b7dc-66db1bb1ef72
11 | EasyNetQ.DI.LightInject
12 | .\obj
13 | .\bin\
14 | v4.6.1
15 |
16 |
17 |
18 | 2.0
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.LightInject/InjectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using LightInject;
2 |
3 | namespace EasyNetQ.DI
4 | {
5 | public static class InjectionExtensions
6 | {
7 | public static void RegisterAsEasyNetQContainerFactory(this IServiceContainer container)
8 | {
9 | RabbitHutch.SetContainerFactory(() => new LightInjectAdapter(container));
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.LightInject/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("")]
10 | [assembly: AssemblyProduct("EasyNetQ.DI.LightInject")]
11 | [assembly: AssemblyTrademark("")]
12 |
13 | // Setting ComVisible to false makes the types in this assembly not visible
14 | // to COM components. If you need to access a type in this assembly from
15 | // COM, set the ComVisible attribute to true on that type.
16 | [assembly: ComVisible(false)]
17 |
18 | // The following GUID is for the ID of the typelib if this project is exposed to COM
19 | [assembly: Guid("caa56dec-6d0c-4141-b7dc-66db1bb1ef72")]
20 |
21 | [assembly: AssemblyVersion("2.0.4.0")]
22 | [assembly: AssemblyInformationalVersion("2.0.4-netcore.1435+Branch.feature/netcore.Sha.a997be04162dfa34c99681e265733c91c0d564f3")]
23 | [assembly: AssemblyFileVersion("2.0.4.0")]
24 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.LightInject/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Ninject/EasyNetQ.DI.Ninject.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 |
10 | d293e3b3-d90f-4161-9987-1b9f1b880d83
11 | EasyNetQ.DI.Ninject
12 | .\obj
13 | .\bin\
14 | v4.6.1
15 |
16 |
17 |
18 | 2.0
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Ninject/InjectionExtensions.cs:
--------------------------------------------------------------------------------
1 | using Ninject;
2 |
3 | namespace EasyNetQ.DI
4 | {
5 | public static class InjectionExtensions
6 | {
7 | public static void RegisterAsEasyNetQContainerFactory(this IKernel container)
8 | {
9 | RabbitHutch.SetContainerFactory(() => new NinjectAdapter(container));
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Source/EasyNetQ.DI.Ninject/NinjectMessageDispatcher.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using EasyNetQ.AutoSubscribe;
3 | using Ninject;
4 |
5 | namespace EasyNetQ.DI
6 | {
7 | public class NinjectMessageDispatcher : IAutoSubscriberMessageDispatcher
8 | {
9 | private readonly IKernel _kernel;
10 |
11 | public NinjectMessageDispatcher(IKernel kernel)
12 | {
13 | this._kernel = kernel;
14 | }
15 |
16 | public void Dispatch(TMessage message)
17 | where TMessage : class
18 | where TConsumer : IConsume
19 | {
20 | _kernel.Get().Consume(message);
21 | }
22 |
23 | public Task DispatchAsync(TMessage message)
24 | where TMessage : class
25 | where TConsumer : IConsumeAsync
26 | {
27 | var consumer = _kernel.Get();
28 | var tsc = new TaskCompletionSource