Показаны сообщения с ярлыком AspireRedisPubSub. Показать все сообщения
Показаны сообщения с ярлыком AspireRedisPubSub. Показать все сообщения

понедельник, 25 мая 2026 г.

Giga, AspireRedisPubSub

does not work

Giga, AspireRedisPubSub

D:\Projects\VS\2605\Giga\AspireRedisPubSub\AspireRedisPubSub.slnx

.Net Aspire, redis, AspireRedisPubSub

.Net Aspire, redis, AspireRedisPubSub

D:\Projects\VS\2605\Qwen\AspireRedisPubSub02\AspireRedisPubSub\AspireRedisPubSub.slnx


AspireRedisPubSub, Publish

AspireRedisPubSub,  Publish

Publish does not work

D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp03\AspireDemoApp03\AspireDemoApp03.slnx

D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp02\AspireDemoApp02.slnx

--------------------------

Publish work

D:\Projects\VS\2605\Qwen\AspireRedisPubSub\AspireRedisPubSub.slnx


Aspire, AspireRedisPubSub, Publish, Interaction, Qwen

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.csproj

ServiceA

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);
});

воскресенье, 24 мая 2026 г.

.Net Aspire, rabbit, redis, AspireDemoApp03

.Net Aspire, rabbit, redis, AspireDemoApp03

------------------------------------------------------------------------------------

rabbit, redis

D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp02\AspireDemoApp02.slnx

D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp02\AspireDemoApp02.AppHost\AspireDemoApp.AppHost.csproj

Отсутствует WaitFor

var builder = DistributedApplication.CreateBuilder(args);

var redis = builder.AddRedis("redis");
var rabbitmq = builder.AddRabbitMQ("rabbitmq");

var apiServiceA = builder.AddProject<Projects.AspireDemoApp_ApiServiceA>("apiservicea")
    .WithReference(redis)
    .WithReference(rabbitmq); // <--- ИСПРАВЛЕНИЕ: удаляем .WithEnvironment(...)


var apiServiceB = builder.AddProject<Projects.AspireDemoApp_ApiServiceB>("apiserviceb")
    .WithReference(redis);

builder.AddProject<Projects.AspireDemoApp_WorkerService>("workerservice")
    .WithReference(redis)
    .WithReference(rabbitmq);
try
{

    builder.Build().Run();
}
catch(Exception ex)
{
    Console.WriteLine($"AppHost: Exception: {ex.Message}");
}
-----------------------------------------------------------------------------------------------------------------------------

rabbit, redis
D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp03\AspireDemoApp03\AspireDemoApp03.slnx
D:\Projects\VS\2605\Aspire\Qwen\AspireDemoApp03\AspireDemoApp03\AspireDemoApp03.AppHost\AppHost.csproj


Работает. Есть WateFor
Не работает Ручка
https://localhost:7052/publish?msg=HelloAspireTest Ответ "✅ Published to 'my-channel': HelloAspireTest"

// AppHost.cs

var builder = DistributedApplication.CreateBuilder(args);

var redis = builder.AddRedis("redis");
var rabbitmq = builder.AddRabbitMQ("rabbitmq")
    // Опционально: уменьшаем логирование контейнера
    .WithEnvironment("RABBITMQ_LOG_LEVEL", "warning");
    // .WithWaitFor("rabbitmq");

var apiServiceA = builder.AddProject<Projects.ApiServiceA>("apiservicea")
    .WithReference(redis)
    .WithReference(rabbitmq)
    .WaitFor(rabbitmq)
    .WaitFor(redis); // <--- ИСПРАВЛЕНИЕ: удаляем .WithEnvironment(...)


var apiServiceB = builder.AddProject<Projects.ApiServiceB>("apiserviceb")
    .WithReference(redis)
    .WaitFor(rabbitmq)
    .WaitFor(redis);

builder.AddProject<Projects.WorkerService>("workerservice")
    .WithReference(redis)
    .WithReference(rabbitmq)
    .WaitFor(rabbitmq)
    .WaitFor(redis);
try
{

    builder.Build().Run();
}
catch (Exception ex)
{
    Console.WriteLine($"AppHost: Exception: {ex.Message}");
}
---------------
Ручка
app.MapPost("/publish/{message}", async (
    string message,
    IConnectionMultiplexer redis,
    ConnectionFactory factory) =>
{
    var db = redis.GetDatabase();
    await db.StringSetAsync("demo:last-message", message);

    await using var connection = await factory.CreateConnectionAsync();
    await using var channel = await connection.CreateChannelAsync();

    await channel.QueueDeclareAsync(
        queue: "demo-queue",
        durable: false,
        exclusive: false,
        autoDelete: false,
        arguments: null);

    var body = Encoding.UTF8.GetBytes(message);

    await channel.BasicPublishAsync(
        exchange: string.Empty,
        routingKey: "demo-queue",
        body: body);

    return Results.Ok(new
    {
        published = message,
        redisKey = "demo:last-message",
        queue = "demo-queue"
    });
});

GS.EventHub02, WebAppEventHub02, BusLibrary03, BusLibrary.Test02, AspireRedisPubSub

 Проекты 

- взаимодействие BackGroundServices через GS.EventHub02

- EventHub: GS.EventHub02

EventHub, WebAppEventHub02, MicroProcessArch, BusLibrary, AspireRedisPubSub, BusLibrary02.Core, AspireRedisPubSub

GS.EventHub02, WebAppEventHub02, BusLibrary03, BusLibrary.Test02, AspireRedisPubSub

--------------------------------------------------------------------------

EventHub Old version

D:\Projects\VS\GS.EvenHub\GS.EvenHub.slnx

D:\Projects\VS\GS.EvenHub\GS.EventHub02\GS.EventHub02.csproj

-----------------------------------------------------------------------------------------------

Interaction beatween BackgroundServices with GS.EventHub02

Logging Service

D:\Projects\VS\GS.EvenHub\GS.EvenHub.slnx

D:\Projects\VS\GS.EvenHub\WebAppEventHub02\WebAppEventHub02.csproj

----------------------------------------------------------------------- --------------------

EventHub New version 26.05.24 

D:\Projects\VS\2605\Bus\BusLibrary\BusLibrary.slnx

EventHub New version 26.05.24

D:\Projects\VS\2605\Bus\BusLibrary\BusLibrary03\BusLibrary03.csproj

D:\Projects\VS\2605\Bus\BusLibrary\BusLibrary.Test02\BusLibrary.Test02.csproj

EventHub Old version EventHub

D:\Projects\VS\2605\Bus\BusLibrary02.Core\EventHub Old version.csproj

---------------------------------------------------------------------------------------------

.Net Aspire Project

Interaction between Projects inside .Net Aspire   

D:\Projects\VS\2605\Qwen\AspireRedisPubSub\AspireRedisPubSub.slnx

D:\Projects\VS\2605\Qwen\AspireRedisPubSub\AspireRedisPubSub.AppHost\AspireRedisPubSub.AppHost.csproj

-------------------------------------------------------------

BusLibrary, 

BackServices Interaction, 

.Net Aspire projetcts Interaction