Plugin.Maui.Spine.Server.Messaging
0.1.17
dotnet add package Plugin.Maui.Spine.Server.Messaging --version 0.1.17
NuGet\Install-Package Plugin.Maui.Spine.Server.Messaging -Version 0.1.17
<PackageReference Include="Plugin.Maui.Spine.Server.Messaging" Version="0.1.17" />
<PackageVersion Include="Plugin.Maui.Spine.Server.Messaging" Version="0.1.17" />
<PackageReference Include="Plugin.Maui.Spine.Server.Messaging" />
paket add Plugin.Maui.Spine.Server.Messaging --version 0.1.17
#r "nuget: Plugin.Maui.Spine.Server.Messaging, 0.1.17"
#:package Plugin.Maui.Spine.Server.Messaging@0.1.17
#addin nuget:?package=Plugin.Maui.Spine.Server.Messaging&version=0.1.17
#tool nuget:?package=Plugin.Maui.Spine.Server.Messaging&version=0.1.17
Plugin.Maui.Spine.Server.Messaging
Queues for a Spine app's server. Publish a typed message, and handle it in an Azure Functions trigger or in a pump in your ASP.NET Core host. The framework does the plumbing:
- Large payloads are gzipped, and go to blob storage when still too large.
- Routing sends a message to every subscriber that takes it, filtered on type and metadata.
- Priority comes in three lanes: high, normal and low.
- Scheduling keeps a message dormant until it is due, and lets you cancel it until then.
- Retries back off, and a message that runs out of attempts is kept as failed, ready to replay.
- Cleanup removes old payloads, markers and failed messages.
This package holds the abstractions and an in-memory transport. A real transport comes from one of these:
.AzureStorage: Storage Queues, simple and cheap..ServiceBus: Azure Service Bus, with more features at more cost.
dotnet add package Plugin.Maui.Spine.Server.Messaging.AzureStorage
builder.Services.AddSpineMessaging(m =>
{
m.UseAzureStorage(); // ConnectionStrings:queues and :blobs, as Aspire sets them
m.Message<ResizeImage>("resize-image");
m.Subscriber("work", s => s.Handles<ResizeImage>().Prioritized().Retry(5));
});
builder.Services.AddMessageHandler<ResizeImage, ResizeImageHandler>();
await publisher.PublishAsync(new ResizeImage("a.png", picture, 800), new PublishOptions { Priority = MessagePriority.High });
Documentation
| 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
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Plugin.Maui.Spine.Server.Messaging:
| Package | Downloads |
|---|---|
|
Plugin.Maui.Spine.Server.Messaging.ServiceBus
Azure Service Bus for Spine messaging: one topic with a subscription per lane and correlation filters doing the routing, native scheduling with no limit, and payloads up to 192 KB inline. Large payloads and failed messages go to blob storage. Runs under Aspire on the Service Bus emulator. |
|
|
Plugin.Maui.Spine.Server.Messaging.AzureStorage
Azure Storage for Spine messaging: Storage Queues as the simple, cheap transport, and blob storage for large payloads, failed messages and markers (used by every transport). Runs under Aspire on Azurite. |
|
|
Plugin.Maui.Spine.Server.AI.Assets
Generated images for Spine's server, made once and served from blob storage: a lookup answers with the image's URL or orders it, a Spine messaging handler generates it through a metered, budgeted Server.AI feature, checks it and archives it under a versioned path. A version bump remakes images lazily, and failures are visible to the app. |
GitHub repositories
This package is not used by any popular GitHub repositories.