diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Consumer.csproj b/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Consumer.csproj
index fe32267411..b247ffd383 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Consumer.csproj
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Consumer.csproj
@@ -2,14 +2,15 @@
Exe
- net6.0
+ net10.0
enable
enable
-
-
+
+
+
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Program.cs b/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Program.cs
index 30f20a4a9f..afe0a6635e 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Program.cs
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/Consumer/Program.cs
@@ -1,36 +1,30 @@
-using MassTransit;
-using Newtonsoft.Json;
+using MassTransit;
+using Microsoft.Extensions.Hosting;
using SharedModels;
+using System.Text.Json;
-var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
+var builder = Host.CreateApplicationBuilder(args);
+
+builder.Services.AddMassTransit(x =>
{
- cfg.ReceiveEndpoint("order-created-event", e =>
+ x.AddConsumer()
+ .Endpoint(e => e.Name = "order-created-event");
+
+ x.UsingRabbitMq((context, cfg) =>
{
- e.Consumer();
+ cfg.ConfigureEndpoints(context);
});
-
});
-await busControl.StartAsync(new CancellationToken());
-
-try
-{
- Console.WriteLine("Press enter to exit");
-
- await Task.Run(() => Console.ReadLine());
-}
-finally
-{
- await busControl.StopAsync();
-}
+await builder.Build().RunAsync();
class OrderCreatedConsumer : IConsumer
{
- public async Task Consume(ConsumeContext context)
+ public Task Consume(ConsumeContext context)
{
- var jsonMessage = JsonConvert.SerializeObject(context.Message);
+ var jsonMessage = JsonSerializer.Serialize(context.Message);
Console.WriteLine($"OrderCreated message: {jsonMessage}");
+
+ return Task.CompletedTask;
}
}
-
-
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Producer.csproj b/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Producer.csproj
index 02e65cc133..50de051b98 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Producer.csproj
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Producer.csproj
@@ -1,15 +1,14 @@
- net6.0
+ net10.0
enable
enable
-
-
-
+
+
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Program.cs b/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Program.cs
index 2a9c93c33b..f85470794a 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Program.cs
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/Producer/Program.cs
@@ -8,8 +8,6 @@
x.UsingRabbitMq();
});
-builder.Services.AddMassTransitHostedService();
-
builder.Services.AddControllers();
var app = builder.Build();
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/OrderCreated.cs b/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/OrderCreated.cs
index 8ed828df2f..a054612aa1 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/OrderCreated.cs
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/OrderCreated.cs
@@ -1,13 +1,13 @@
-namespace SharedModels
+namespace SharedModels
{
public interface OrderCreated
{
- int Id { get; set; }
+ int Id { get; }
- string ProductName { get; set; }
+ string ProductName { get; }
- decimal Price { get; set; }
+ decimal Price { get; }
- int Quantity { get; set; }
+ int Quantity { get; }
}
}
\ No newline at end of file
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/SharedModels.csproj b/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/SharedModels.csproj
index 132c02c59c..9ed914b5ba 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/SharedModels.csproj
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/SharedModels/SharedModels.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net10.0
enable
enable
diff --git a/aspnetcore-webapi/MassTransitRabbitMQ/Tests/Tests.csproj b/aspnetcore-webapi/MassTransitRabbitMQ/Tests/Tests.csproj
index a5f45fe907..f281d54db0 100644
--- a/aspnetcore-webapi/MassTransitRabbitMQ/Tests/Tests.csproj
+++ b/aspnetcore-webapi/MassTransitRabbitMQ/Tests/Tests.csproj
@@ -1,7 +1,7 @@
- net6.0
+ net10.0
enable
false