NQueue 1.9.0

dotnet add package NQueue --version 1.9.0
NuGet\Install-Package NQueue -Version 1.9.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.9.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NQueue --version 1.9.0
#r "nuget: NQueue, 1.9.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.9.0

// Install NQueue as a Cake Tool
#tool nuget:?package=NQueue&version=1.9.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.9.0 314 4/18/2024
1.8.0 644 2/18/2024
1.8.0-beta02 74 2/18/2024
1.8.0-beta01 82 2/17/2024
1.7.0 91 2/17/2024
1.7.0-beta01 108 2/11/2024
1.6.2 95 2/6/2024
1.6.2-beta01 60 2/6/2024
1.6.1-beta03 130 1/31/2024
1.6.1-beta02 55 1/31/2024
1.6.1-beta01 55 1/31/2024
1.6.0 398 1/29/2024
1.6.0-beta02 104 1/26/2024
1.6.0-beta01 89 1/24/2024
1.5.0 388 1/18/2024
1.5.0-beta01 65 1/18/2024
1.4.0 92 1/17/2024
1.4.0-beta02 74 1/17/2024
1.4.0-beta01 62 1/17/2024
1.3.1 122 1/16/2024
1.3.0 117 1/13/2024
1.3.0-beta04 73 1/13/2024
1.3.0-beta03 62 1/13/2024
1.3.0-beta02 55 1/13/2024
1.3.0-beta01 75 1/4/2024
1.2.1 450 12/31/2023
1.2.1-beta1 104 12/29/2023
1.2.0 414 12/11/2023
1.2.0-beta006 114 12/9/2023
1.2.0-beta005 81 12/9/2023
1.2.0-beta004 63 12/9/2023
1.2.0-beta003 68 12/9/2023
1.2.0-beta002 84 12/9/2023
1.2.0-beta001 80 12/9/2023
1.1.5-beta002 191 12/3/2023
1.1.5-beta001 81 12/2/2023
1.1.4 196 12/1/2023
1.1.4-beta001 129 11/30/2023
1.1.3 306 11/16/2023
1.1.3-alpha01 74 11/15/2023
1.1.2 101 11/14/2023
1.1.2-alpha01 64 11/13/2023
1.1.1 112 11/11/2023
1.1.0 91 11/11/2023
1.0.0 117 11/9/2023
0.0.1-alpha-019 138 11/7/2023
0.0.1-alpha-018 79 11/7/2023
0.0.1-alpha-017 66 11/7/2023
0.0.1-alpha-016 81 11/7/2023
0.0.1-alpha-015 75 11/6/2023
0.0.1-alpha-014 71 11/6/2023
0.0.1-alpha-013 85 11/5/2023
0.0.1-alpha-011 73 11/5/2023
0.0.1-alpha-010 272 10/28/2023
0.0.1-alpha-008 97 10/27/2023
0.0.1-alpha-007 86 10/26/2023
0.0.1-alpha-006 76 10/26/2023
0.0.1-alpha-005 86 10/26/2023
0.0.1-alpha-004 72 10/26/2023
0.0.1-alpha-003 92 10/25/2023
0.0.1-alpha-002 80 10/25/2023
0.0.1-alpha-001 124 10/22/2023