NQueue 1.12.0-beta01

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.12.0-beta01
                    
NuGet\Install-Package NQueue -Version 1.12.0-beta01
                    
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-beta01" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NQueue" Version="1.12.0-beta01" />
                    
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.12.0-beta01
                    
#r "nuget: NQueue, 1.12.0-beta01"
                    
#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.
#addin nuget:?package=NQueue&version=1.12.0-beta01&prerelease
                    
Install NQueue as a Cake Addin
#tool nuget:?package=NQueue&version=1.12.0-beta01&prerelease
                    
Install NQueue 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. 
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.18.0 358 a month ago
1.18.0-beta02 245 a month ago
1.18.0-beta01 194 a month ago
1.17.0 975 2 months ago
1.16.1 376 4 months ago
1.16.1-beta01 90 4 months ago
1.16.0 115 4 months ago
1.16.0-beta01 88 4 months ago
1.15.0 359 4 months ago
1.15.0-beta03 91 4 months ago
1.15.0-beta02 79 4 months ago
1.15.0-beta01 78 4 months ago
1.14.1 97 5 months ago
1.14.1-beta01 170 5 months ago
1.14.0 97 5 months ago
1.14.0-beta3 261 5 months ago
1.14.0-beta2 262 6 months ago
1.14.0-beta1 91 6 months ago
1.13.0 1,267 8 months ago
1.13.0-beta01 112 8 months ago
1.12.0 95 8 months ago
1.12.0-beta06 680 8 months ago
1.12.0-beta05 108 8 months ago
1.12.0-beta04 76 8 months ago
1.12.0-beta03 96 8 months ago
1.12.0-beta02 97 8 months ago
1.12.0-beta01 95 8 months ago
1.11.0 119 10 months ago
1.11.0-beta03 405 10 months ago
1.11.0-beta02 93 10 months ago
1.11.0-beta01 72 10 months ago
1.10.0 98 10 months ago
1.10.0-beta1 387 5/31/2024
1.9.0 618 4/18/2024
1.8.0 907 2/18/2024
1.8.0-beta02 124 2/18/2024
1.8.0-beta01 114 2/17/2024
1.7.0 132 2/17/2024
1.7.0-beta01 128 2/11/2024
1.6.2 139 2/6/2024
1.6.2-beta01 111 2/6/2024
1.6.1-beta03 178 1/31/2024
1.6.1-beta02 99 1/31/2024
1.6.1-beta01 101 1/31/2024
1.6.0 532 1/29/2024
1.6.0-beta02 129 1/26/2024
1.6.0-beta01 118 1/24/2024
1.5.0 425 1/18/2024
1.5.0-beta01 93 1/18/2024
1.4.0 131 1/17/2024
1.4.0-beta02 110 1/17/2024
1.4.0-beta01 90 1/17/2024
1.3.1 159 1/16/2024
1.3.0 153 1/13/2024
1.3.0-beta04 119 1/13/2024
1.3.0-beta03 96 1/13/2024
1.3.0-beta02 93 1/13/2024
1.3.0-beta01 120 1/4/2024
1.2.1 487 12/31/2023
1.2.1-beta1 138 12/29/2023
1.2.0 451 12/11/2023
1.2.0-beta006 146 12/9/2023
1.2.0-beta005 109 12/9/2023
1.2.0-beta004 90 12/9/2023
1.2.0-beta003 96 12/9/2023
1.2.0-beta002 112 12/9/2023
1.2.0-beta001 110 12/9/2023
1.1.5-beta002 222 12/3/2023
1.1.5-beta001 108 12/2/2023
1.1.4 234 12/1/2023
1.1.4-beta001 161 11/30/2023
1.1.3 339 11/16/2023
1.1.3-alpha01 107 11/15/2023
1.1.2 132 11/14/2023
1.1.2-alpha01 98 11/13/2023
1.1.1 185 11/11/2023
1.1.0 129 11/11/2023
1.0.0 164 11/9/2023
0.0.1-alpha-019 175 11/7/2023
0.0.1-alpha-018 110 11/7/2023
0.0.1-alpha-017 100 11/7/2023
0.0.1-alpha-016 120 11/7/2023
0.0.1-alpha-015 110 11/6/2023
0.0.1-alpha-014 99 11/6/2023
0.0.1-alpha-013 115 11/5/2023
0.0.1-alpha-011 109 11/5/2023
0.0.1-alpha-010 304 10/28/2023
0.0.1-alpha-008 129 10/27/2023
0.0.1-alpha-007 118 10/26/2023
0.0.1-alpha-006 111 10/26/2023
0.0.1-alpha-005 117 10/26/2023
0.0.1-alpha-004 104 10/26/2023
0.0.1-alpha-003 126 10/25/2023
0.0.1-alpha-002 115 10/25/2023
0.0.1-alpha-001 154 10/22/2023