NQueue 1.15.0-beta03

This is a prerelease version of NQueue.
There is a newer version of this package available.
See the version list below for details.
dotnet add package NQueue --version 1.15.0-beta03
                    
NuGet\Install-Package NQueue -Version 1.15.0-beta03
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NQueue" Version="1.15.0-beta03" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NQueue" Version="1.15.0-beta03" />
                    
Directory.Packages.props
<PackageReference Include="NQueue" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NQueue --version 1.15.0-beta03
                    
#r "nuget: NQueue, 1.15.0-beta03"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NQueue@1.15.0-beta03
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NQueue&version=1.15.0-beta03&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=NQueue&version=1.15.0-beta03&prerelease
                    
Install as a Cake Tool

Implementation of the outbox pattern in dotnet.

Use Postgres

    CREATE DATABASE my_database;
    -- in the new database:
    CREATE USER nqueueuser PASSWORD 'ihSH3jqeVb7giIgOkohX';
    CREATE SCHEMA IF NOT EXISTS nqueue AUTHORIZATION nqueueuser;
  services.AddHttpClient();
  services.AddNQueueHostedService((s, config) =>
    {
      var cnnBuilder = new NpgsqlConnectionStringBuilder()
      {
          Host = "localhost",
          Database = "my_database",
          Username = "nqueueuser",
          Password = "ihSH3jqeVb7giIgOkohX",
      };
      cnnBuilder.SslMode = cnnBuilder.Host == "localhost" ? SslMode.Disable : SslMode.VerifyFull;
      config.CreateDbConnection = () => new ValueTask<DbConnection>(new NpgsqlConnection(cnnBuilder.ToString()));
      config.LocalHttpAddresses = s.GetRequiredService<IServer>().Features.Get<IServerAddressesFeature>().Addresses.ToList();
      return default;
    });

Enqueue your first work item:

    private readonly INQueueClient _nQueueClient; // populated by IOC
    public async Task MyMethod() {
        await _nQueueClient.Enqueue(await _nQueueClient.Localhost("/MyEndpoint"));
    }

Use SQL Server

Warning: This no longer is working. If you're interested in maintaining it, please let me know.

  services.AddNQueueHostedService((s, config) =>
    {
      config.CreateDbConnection = () =>
      {
          var cnnBuilder = new SqlConnectionStringBuilder
          {
              DataSource = "localhost,15533",
              InitialCatalog = "NQueueSample",
              UserID = "NQueueUser",
              Password = "ihSH3jqeVb7giIgOkohX"
          };
          cnnBuilder.Encrypt = !cnnBuilder.DataSource.StartsWith("localhost");
          return new ValueTask<DbConnection>(new SqlConnection(cnnBuilder.ToString()));
      };   
      return default;
    });
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NQueue:

Package Downloads
NQueue.Extensions.OpenTelemetry

Sets up Open Telemetry tracing for NQueue

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.23.6 915 1/2/2026
1.23.5 161 12/31/2025
1.23.4 275 12/29/2025
1.23.3 118 12/29/2025
1.23.2 103 12/28/2025
1.23.1 99 12/28/2025
1.23.0 104 12/28/2025
1.23.0-beta04 126 12/26/2025
1.23.0-beta03 169 12/25/2025
1.23.0-beta02 174 12/24/2025
1.23.0-beta01 172 12/24/2025
1.22.1 384 12/17/2025
1.22.0 425 12/16/2025
1.22.0-beta02 287 12/16/2025
1.22.0-beta01 266 12/16/2025
1.21.0 181 12/12/2025
1.20.0 436 12/11/2025
1.20.0-beta1 429 12/11/2025
1.19.0 1,487 6/9/2025
1.15.0-beta03 143 12/2/2024
Loading failed