NQueue 1.12.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package NQueue --version 1.12.0                
NuGet\Install-Package NQueue -Version 1.12.0                
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.12.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NQueue --version 1.12.0                
#r "nuget: NQueue, 1.12.0"                
#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.
// Install NQueue as a Cake Addin
#addin nuget:?package=NQueue&version=1.12.0

// Install NQueue as a Cake Tool
#tool nuget:?package=NQueue&version=1.12.0                

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. 
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.14.1 35 11/16/2024
1.14.1-beta01 58 11/14/2024
1.14.0 38 11/14/2024
1.14.0-beta3 244 10/25/2024
1.14.0-beta2 249 10/9/2024
1.14.0-beta1 77 10/9/2024
1.13.0 1,091 7/31/2024
1.13.0-beta01 100 7/29/2024
1.12.0 77 7/26/2024
1.12.0-beta06 669 7/24/2024
1.12.0-beta05 97 7/24/2024
1.12.0-beta04 65 7/24/2024
1.12.0-beta03 82 7/23/2024
1.12.0-beta02 85 7/23/2024
1.12.0-beta01 84 7/23/2024
1.11.0 105 6/13/2024
1.11.0-beta03 397 6/11/2024
1.11.0-beta02 83 6/11/2024
1.11.0-beta01 61 6/11/2024
1.10.0 88 6/11/2024
1.10.0-beta1 379 5/31/2024
1.9.0 605 4/18/2024
1.8.0 888 2/18/2024
1.8.0-beta02 113 2/18/2024
1.8.0-beta01 102 2/17/2024
1.7.0 118 2/17/2024
1.7.0-beta01 117 2/11/2024
1.6.2 127 2/6/2024
1.6.2-beta01 102 2/6/2024
1.6.1-beta03 170 1/31/2024
1.6.1-beta02 91 1/31/2024
1.6.1-beta01 93 1/31/2024
1.6.0 522 1/29/2024
1.6.0-beta02 123 1/26/2024
1.6.0-beta01 109 1/24/2024
1.5.0 414 1/18/2024
1.5.0-beta01 85 1/18/2024
1.4.0 120 1/17/2024
1.4.0-beta02 100 1/17/2024
1.4.0-beta01 82 1/17/2024
1.3.1 149 1/16/2024
1.3.0 144 1/13/2024
1.3.0-beta04 112 1/13/2024
1.3.0-beta03 82 1/13/2024
1.3.0-beta02 86 1/13/2024
1.3.0-beta01 112 1/4/2024
1.2.1 475 12/31/2023
1.2.1-beta1 131 12/29/2023
1.2.0 441 12/11/2023
1.2.0-beta006 138 12/9/2023
1.2.0-beta005 102 12/9/2023
1.2.0-beta004 83 12/9/2023
1.2.0-beta003 88 12/9/2023
1.2.0-beta002 104 12/9/2023
1.2.0-beta001 102 12/9/2023
1.1.5-beta002 214 12/3/2023
1.1.5-beta001 100 12/2/2023
1.1.4 225 12/1/2023
1.1.4-beta001 153 11/30/2023
1.1.3 330 11/16/2023
1.1.3-alpha01 97 11/15/2023
1.1.2 122 11/14/2023
1.1.2-alpha01 90 11/13/2023
1.1.1 174 11/11/2023
1.1.0 114 11/11/2023
1.0.0 155 11/9/2023
0.0.1-alpha-019 168 11/7/2023
0.0.1-alpha-018 102 11/7/2023
0.0.1-alpha-017 92 11/7/2023
0.0.1-alpha-016 112 11/7/2023
0.0.1-alpha-015 97 11/6/2023
0.0.1-alpha-014 92 11/6/2023
0.0.1-alpha-013 107 11/5/2023
0.0.1-alpha-011 99 11/5/2023
0.0.1-alpha-010 296 10/28/2023
0.0.1-alpha-008 121 10/27/2023
0.0.1-alpha-007 110 10/26/2023
0.0.1-alpha-006 97 10/26/2023
0.0.1-alpha-005 110 10/26/2023
0.0.1-alpha-004 96 10/26/2023
0.0.1-alpha-003 118 10/25/2023
0.0.1-alpha-002 105 10/25/2023
0.0.1-alpha-001 146 10/22/2023