OrionGuard.Outbox.SqlServerBroker
6.7.0
dotnet add package OrionGuard.Outbox.SqlServerBroker --version 6.7.0
NuGet\Install-Package OrionGuard.Outbox.SqlServerBroker -Version 6.7.0
<PackageReference Include="OrionGuard.Outbox.SqlServerBroker" Version="6.7.0" />
<PackageVersion Include="OrionGuard.Outbox.SqlServerBroker" Version="6.7.0" />
<PackageReference Include="OrionGuard.Outbox.SqlServerBroker" />
paket add OrionGuard.Outbox.SqlServerBroker --version 6.7.0
#r "nuget: OrionGuard.Outbox.SqlServerBroker, 6.7.0"
#:package OrionGuard.Outbox.SqlServerBroker@6.7.0
#addin nuget:?package=OrionGuard.Outbox.SqlServerBroker&version=6.7.0
#tool nuget:?package=OrionGuard.Outbox.SqlServerBroker&version=6.7.0
OrionGuard.Outbox.SqlServerBroker
SQL Server Service Broker backed IOutboxWakeSignal for OrionGuard.EntityFrameworkCore. Sibling to OrionGuard.Outbox.PostgresNotify (v6.5.2) for the SQL Server provider.
Install
dotnet add package OrionGuard.Outbox.SqlServerBroker
Wire-up
services.AddSqlServerBrokerOutboxWakeSignal(o =>
{
o.ConnectionString = "Server=db;Database=app;User Id=app;Password=app;TrustServerCertificate=true";
});
services.AddOrionGuardEfCore<AppDbContext>(opts => opts.UseOutbox());
The hosted service opens a dedicated SqlConnection, runs WAITFOR (RECEIVE ... FROM <queue>) with a bounded timeout, and signals the dispatcher when a row arrives. The dispatcher's polling interval continues to upper-bound wake latency.
One-time setup
Service Broker must be enabled on the target database:
ALTER DATABASE [app] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
Then run the helper SQL once via an EF Core migration:
public partial class InstallOrionGuardOutboxBroker : Migration
{
protected override void Up(MigrationBuilder mb) =>
mb.Sql(SqlServerBrokerSetupSql.Create());
protected override void Down(MigrationBuilder mb) =>
mb.Sql(SqlServerBrokerSetupSql.Drop());
}
SqlServerBrokerSetupSql.Create accepts overrides for custom table / queue / service / contract / message-type names.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 is compatible. 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. |
-
net10.0
- Microsoft.Data.SqlClient (>= 5.2.2)
- OrionGuard.EntityFrameworkCore (>= 6.7.0)
-
net8.0
- Microsoft.Data.SqlClient (>= 5.2.2)
- OrionGuard.EntityFrameworkCore (>= 6.7.0)
-
net9.0
- Microsoft.Data.SqlClient (>= 5.2.2)
- OrionGuard.EntityFrameworkCore (>= 6.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 6.7.0 | 107 | 7/20/2026 |
| 6.6.2 | 123 | 6/20/2026 |
| 6.6.1 | 111 | 6/20/2026 |
| 6.6.0 | 110 | 6/19/2026 |
| 6.5.30 | 127 | 6/17/2026 |
| 6.5.29 | 106 | 6/15/2026 |
| 6.5.28 | 111 | 6/15/2026 |
| 6.5.27 | 109 | 6/15/2026 |
| 6.5.26 | 110 | 6/13/2026 |
| 6.5.25 | 106 | 6/13/2026 |
| 6.5.24 | 110 | 6/12/2026 |
| 6.5.23 | 114 | 6/12/2026 |
| 6.5.22 | 114 | 6/11/2026 |
| 6.5.21 | 115 | 6/11/2026 |
| 6.5.20 | 111 | 6/11/2026 |
| 6.5.19 | 105 | 6/11/2026 |
| 6.5.18 | 101 | 6/11/2026 |
| 6.5.16 | 104 | 6/11/2026 |
| 6.5.15 | 107 | 6/11/2026 |
| 6.5.14 | 111 | 6/11/2026 |