/amqpnetlite

AMQP 1.0 .NET Library

Primary LanguageC#Apache License 2.0Apache-2.0

AMQP.Net Lite

AMQP.Net Lite is a lightweight AMQP 1.0 library for the .Net Framework, .Net Core, Windows Runtime platforms, .Net Micro Framework, .NET nanoFramework and Mono. The library includes both a client and listener to enable peer to peer and broker based messaging.
Documentation

Build status

NuGet Package Status
AMQPNetLite (main package) NuGet Version and Downloads count
AMQPNetLite.Core (.Net Core) NuGet Version and Downloads count
AMQPNetLite.Serialization (.Net Core) NuGet Version and Downloads count
AMQPNetLite.WebSockets (.Net Core) NuGet Version and Downloads count
AMQPNetLite.NetMF (NETMF) NuGet Version and Downloads count
AMQPNetMicro (NETMF) NuGet Version and Downloads count
AMQPNetLite.nanoFramework (nanoFramework) NuGet Version and Downloads count
AMQPNetMicro.nanoFramework (nanoFramework) NuGet Version and Downloads count

Features

  • Full control of AMQP 1.0 protocol behavior.
  • Peer-to-peer and brokered messaging.
  • Secure communication via TLS and SASL.
  • Extensible transport providers.
  • Sync and async API support.
  • Listener APIs to enable wide range of listener applications, including brokers, routers, proxies, and more.
  • A lightweight messaging library that runs on all popular .NET and Windows Runtime platforms.

The following table shows what features are supported on each platform/framework.

TLS SASL2 Txn Task Serializer Listener WebSockets BufferPooling
net45 + + + + + + + +
net40 + + + +3 + + +
net35 + + +
netmf   +1 +    
nanoFramework + +    
uap10 + + +
netcore451 + + +
wpa81 + + +
win8/wp8 + + +
netstandard1.34 + + + + + + +
mono/Xamarin5 + + + + + + +
  1. requires a TLS-capable device.
  2. only SASL PLAIN, EXTERNAL, and ANONYMOUS are currently supported.
  3. requires Microsoft.Bcl.Async.
  4. has 3 packages. Supports WebSocket client but not listener.
  5. projects targeting Mono/Xamarin should be able to consume the netstandard1.3 library.

Tested Platforms

  • .Net Framework 3.5, 4.0 and 4.5+.
  • .NET Micro Framework 4.2, 4.3, 4.4.
  • .NET nanoFramework 1.0.
  • .NET Compact Framework 3.9.
  • Windows Phone 8 and 8.1.
  • Windows Store 8 and 8.1. Universal Windows App 10.
  • .Net Core 1.0 on Windows 10 and Ubuntu 14.04.
  • Mono on Linux (requires v4.2.1 and up. Only the client APIs are verified and state of the listener APIs is unknown).

Getting Started

  • Quick Start Build applications from simple to complex.
  • Examples Please take a minute to look at the examples.
  • .Net Core If you are looking for information about using amqpnetlite on .Net Core (coreclr, dnxcore50, etc.), your can find the code and a Hello AMQP! example here.
  • Interested in the code? Clone and build the projects.

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

If you would like to become an contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.

References

For more information about the Azure Service Bus and AMQP, refer to: