Skip to content

ardalis/azure-service-bus-dotnet

 
 

Repository files navigation

Microsoft Azure Relay

Microsoft Azure Service Bus Client for .NET

Please be aware that this library is currently in active development, and is not intended for production

Build/Package Status
master Build status
dev Build status

This is the next generation Service Bus .NET client library that focuses on queues & topics. If you are looking for Event Hubs and Relay clients, follow the below links:

For information on the current set of implemented features and features to come, see our Road map.

Azure Service Bus Messaging is an asynchronous messaging cloud platform that enables you to send messages between decoupled systems. Microsoft offers this feature as a service, which means that you do not need to host any of your own hardware in order to use it.

Refer to the online documentation to learn more about Service Bus.

This library is built using .NET Standard 1.3. For more information on what platforms are supported see .NET Platforms Support.

How to provide feedback

See our Contribution Guidelines.

FAQ

Where can I find examples that use this library?

To get started sending messages to Service Bus refer to Get started sending to Service Bus queues.

To get started receiving messages with Service Bus refer to Get started receiving from Service Bus queues.

How do I run the unit tests?

In order to run the unit tests, you will need to do the following:

  1. Deploy the Azure Resource Manager template located at /templates/azuredeploy.json by clicking the following button:

    Running the above template will provision a standard Service Bus namespace along with the required entities to successfully run the unit tests.

  2. Add an Environment Variable named azure-service-bus-dotnet/connectionstring and set the value as the connection string of the newly created namespace. Please note that if you are using Visual Studio, you must restart Visual Studio in order to use new Environment Variables.

Once you have completed the above, you can run dotnet test from the /test/Microsoft.Azure.ServiceBus.UnitTests directory.

Can I manage Service Bus entities with this library?

The standard way to manage Azure resources is by using Azure Resource Manager. In order to use functionality that previously existed in the .NET Framework Service Bus client library, you will need to use the Microsoft.Azure.Management.ServiceBus library. This will enable use cases that dynamically create/read/update/delete resources. The following links will provide more information on the new library and how to use it.

Road map

  • Sprint 1: Complete

    All runtime operations for queues (not topics / subscriptions)

    • Send
    • Receive/Peeklock (without receive by sequence number)
    • Abandon
    • Deadletter
    • Defer
  • Sprint 2: Complete

    • RenewLock (Request/Response)
    • Batch operation - Explicit batching only
    • Runtime operation only
    • Linux testing setup/investigation
  • Sprint 3: Complete

    • Add topic/subscription support
    • Session support
      • Accept session
      • Session Receive/ReceiveBatch
  • Sprint 4: Complete

    • Retry policy
    • Receive by sequence number
  • Sprint 5: Complete

    • Exception handling and some missing error scenarios
    • Add/Remove Rule
    • Browse messages and sessions
    • Scheduled messages specific API (Scheduling of messages can be done today through the queue/topic client, but this item is to add specific API's for scheduled messages)
    • EventSource logging
    • Overload to Receive/AcceptMessageSession APIs that accepts ServerWaitTimeout
  • Sprint 6: February 2017

    • Interfaces for easier testing
    • "EntityFactory" (name to be determined) - Object used to create Queue/Topic/Subscption clients
    • OnMessage/OnSession handlers
    • PartitionedEntity API - Batch receive to/complete from a specific partition
    • NuGet package
    • Dedicated AppVeyor account
    • API documentation
    • General clean up (i.e. moving strings to resources file)
    • Additional unit/stress tests
      • Prefetch

About

☁️ .NET Standard client library for Azure Service Bus

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.2%
  • PowerShell 0.8%