Scry.Server.MassTransit
0.1.0-beta.13
dotnet add package Scry.Server.MassTransit --version 0.1.0-beta.13
NuGet\Install-Package Scry.Server.MassTransit -Version 0.1.0-beta.13
<PackageReference Include="Scry.Server.MassTransit" Version="0.1.0-beta.13" />
<PackageVersion Include="Scry.Server.MassTransit" Version="0.1.0-beta.13" />
<PackageReference Include="Scry.Server.MassTransit" />
paket add Scry.Server.MassTransit --version 0.1.0-beta.13
#r "nuget: Scry.Server.MassTransit, 0.1.0-beta.13"
#:package Scry.Server.MassTransit@0.1.0-beta.13
#addin nuget:?package=Scry.Server.MassTransit&version=0.1.0-beta.13&prerelease
#tool nuget:?package=Scry.Server.MassTransit&version=0.1.0-beta.13&prerelease
Scry.Server.MassTransit
Carries Scry commands over MassTransit: a command a client sends is published to the consumer that handles it, and its outcome comes back to the client when the consumer is done.
On the Scry server:
builder.Services.AddScry<SampleContext>(
_ =>
{
_.MaxPendingCommands = 100;
_.UseMassTransitCommands(_ => _.For<RepriceOrder>());
});
builder.Services.AddMassTransit(
_ =>
{
_.AddScryCommandCompletions();
_.UsingRabbitMq((context, bus) => bus.ConfigureEndpoints(context));
});
On the worker:
builder.Services.AddMassTransit(
_ =>
{
_.AddConsumer<RepriceOrderConsumer>();
_.UsingRabbitMq(
(context, bus) =>
{
bus.UseScryCommands(context);
bus.UseMessageRetry(_ => _.Immediate(3));
bus.ConfigureEndpoints(context);
});
});
The server validates, authorizes and binds the command as it would for an in-process handler, then publishes it with the command's id and caller as headers. The consumer is an ordinary IConsumer<T>. Once it is done, the worker publishes the outcome. Through the consume context on success, so with an outbox it leaves only if the consumer's work was kept. Through the bus on failure, once the failure leaves the filter, which is after retries are spent when UseScryCommands is configured before UseMessageRetry. A consumer of a command with a result answers with context.SetScryResult(result).
It claims nothing until told: a MassTransit message is any class. Everything it does not claim stays with its in-process handler. Completions are consumed on a temporary endpoint per node, so the node that dispatched a command hears how it ended.
This package carries no change backplane. A consumer's writes reach live queries through the notification the server raises on completion for a targeted command, a change probe, or the poll.
Docs: Commands
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- MassTransit (>= 9.2.3)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Scry.Server (>= 0.1.0-beta.13)
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 |
|---|---|---|
| 0.1.0-beta.13 | 26 | 10/7/2026 |
| 0.1.0-beta.12 | 50 | 10/1/2026 |
| 0.1.0-beta.11 | 46 | 9/30/2026 |
| 0.1.0-beta.10 | 62 | 9/24/2026 |