Aspire, AspireRedisPubSub, Publish, Interaction,Qwen
https://chat.qwen.ai/c/806431e5-714d-4729-9a3f-90e4dc82a139
D:\Projects\VS\2605\Qwen\AspireRedisPubSub\AspireRedisPubSub.slnx
D:\Projects\VS\2605\Qwen\AspireRedisPubSub\AspireRedisPubSub.AppHost\AspireRedisPubSub.AppHost.csprojServiceA
builder.AddRedisClient("redis"); var app = builder.Build(); app.MapGet("/publish", async (IConnectionMultiplexer redis, string? msg) => { // var channel = "my-channel"; var channel = RedisChannel.Literal("my-channel"); // RedisChannel.Pattern("my-channel:*"); var message = msg ?? "Hello from ServiceA!"; // Получаем объект подписки из мультиплексора var subscriber = redis.GetSubscriber(); await subscriber.PublishAsync(channel, message); return Results.Ok($"✅ Published to '{channel}': {message}"); }); app.MapDefaultEndpoints(); // для health checks app.Run();
---------------------------------------------
ServiceB// Подписываемся после успешного пинга (используем RedisChannel.Literal) await subscriber.SubscribeAsync(RedisChannel.Literal("my-channel"), (channel, message) => { logger.LogInformation("📩 ServiceB received: {Message}", message); });
Комментариев нет:
Отправить комментарий