C# .NET is in development for v1. Interested in contributing or chatting with us?Get in touch!
.NET - Topic.Subscribe()
Subscribe a handler to a topic and receive new events for processing.
using Nitric.Sdk;
class EventUpdate
{
public string Message { get; set; }
}
var updates = Nitric.Topic<EventUpdate>("updates");
updates.Subscribe(ctx => {
Console.WriteLine(ctx.Req.Payload);
return ctx;
});
Nitric.Run();
Parameters
- Name
middleware
- Required
- Required
- Type
- Func<EventContext, EventContext> or Middleware<EventContext>[]
- Description
The middleware (code) to be triggered by the topic.
Examples
Subscribe to a topic
using Nitric.Sdk;
var updates = Nitric.Topic("updates");
updates.Subscribe(ctx => {
Console.WriteLine(ctx.Req.Payload);
return ctx;
});
Nitric.Run();
Subscibe to a topic with chained middleware
using Nitric.Sdk;
class EventUpdate
{
public string Message { get; set; }
}
var updates = Nitric.Topic<EventUpdate>("updates");
updates.Subscribe((ctx, next) =>
{
// Validate request
if (invalidRequest(ctx))
{
return ctx;
}
return next(ctx);
}, (ctx, next) => {
// Handle request
return next(ctx);
}
);
Nitric.Run();
Notes
- A function may only subscribe to a topic once, if multiple subscribers are required, create them in different functions.
- A function may subscribe to OR publish to a topic but not both