NQueue 1.11.0

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

// Install NQueue as a Cake Tool
#tool nuget:?package=NQueue&version=1.11.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.11.0 71 6/13/2024
1.11.0-beta03 208 6/11/2024
1.11.0-beta02 59 6/11/2024
1.11.0-beta01 50 6/11/2024
1.10.0 61 6/11/2024
1.10.0-beta1 240 5/31/2024
1.9.0 577 4/18/2024
1.8.0 703 2/18/2024
1.8.0-beta02 78 2/18/2024
1.8.0-beta01 84 2/17/2024
1.7.0 96 2/17/2024
1.7.0-beta01 111 2/11/2024
1.6.2 100 2/6/2024
1.6.2-beta01 63 2/6/2024
1.6.1-beta03 133 1/31/2024
1.6.1-beta02 57 1/31/2024
1.6.1-beta01 58 1/31/2024
1.6.0 500 1/29/2024
1.6.0-beta02 106 1/26/2024
1.6.0-beta01 90 1/24/2024
1.5.0 391 1/18/2024
1.5.0-beta01 67 1/18/2024
1.4.0 96 1/17/2024
1.4.0-beta02 76 1/17/2024
1.4.0-beta01 63 1/17/2024
1.3.1 126 1/16/2024
1.3.0 120 1/13/2024
1.3.0-beta04 75 1/13/2024
1.3.0-beta03 63 1/13/2024
1.3.0-beta02 56 1/13/2024
1.3.0-beta01 76 1/4/2024
1.2.1 454 12/31/2023
1.2.1-beta1 107 12/29/2023
1.2.0 417 12/11/2023
1.2.0-beta006 116 12/9/2023
1.2.0-beta005 82 12/9/2023
1.2.0-beta004 64 12/9/2023
1.2.0-beta003 69 12/9/2023
1.2.0-beta002 85 12/9/2023
1.2.0-beta001 81 12/9/2023
1.1.5-beta002 193 12/3/2023
1.1.5-beta001 82 12/2/2023
1.1.4 200 12/1/2023
1.1.4-beta001 131 11/30/2023
1.1.3 310 11/16/2023
1.1.3-alpha01 75 11/15/2023
1.1.2 104 11/14/2023
1.1.2-alpha01 65 11/13/2023
1.1.1 115 11/11/2023
1.1.0 94 11/11/2023
1.0.0 121 11/9/2023
0.0.1-alpha-019 140 11/7/2023
0.0.1-alpha-018 80 11/7/2023
0.0.1-alpha-017 67 11/7/2023
0.0.1-alpha-016 82 11/7/2023
0.0.1-alpha-015 76 11/6/2023
0.0.1-alpha-014 72 11/6/2023
0.0.1-alpha-013 86 11/5/2023
0.0.1-alpha-011 74 11/5/2023
0.0.1-alpha-010 274 10/28/2023
0.0.1-alpha-008 98 10/27/2023
0.0.1-alpha-007 87 10/26/2023
0.0.1-alpha-006 77 10/26/2023
0.0.1-alpha-005 87 10/26/2023
0.0.1-alpha-004 73 10/26/2023
0.0.1-alpha-003 93 10/25/2023
0.0.1-alpha-002 81 10/25/2023
0.0.1-alpha-001 125 10/22/2023