added two samples

This commit is contained in:
2026-02-03 08:31:53 -05:00
parent 97e0ce1733
commit 51f577d218
1120 changed files with 45859 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Messages\Messages.csproj" />
<ProjectReference Include="..\ServiceDefaults\ServiceDefaults.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Aspire.Npgsql" Version="13.1.0" />
<PackageReference Include="WolverineFx.Marten" Version="5.13.0" />
<PackageReference Include="WolverineFx.Nats" Version="5.13.0" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,81 @@
using Marten;
using Messages;
using Wolverine;
using Wolverine.Marten;
using Wolverine.Nats;
var builder = WebApplication.CreateBuilder(args);
builder.AddServiceDefaults();
builder.AddNpgsqlDataSource("db-two");
builder.UseWolverine(options =>
{
options.UseNats(builder.Configuration.GetConnectionString("nats") ??
throw new Exception("No NATS connection string configured"))
.AutoProvision()
.UseJetStream(js =>
{
js.MaxDeliver = 5;
js.AckWait = TimeSpan.FromSeconds(30);
});
//.DefineWorkQueueStream("APITWO", s => s.EnableScheduledDelivery(), "users.>");
options.ListenToNatsSubject("messages-sent")
.BufferedInMemory();
options.ListenToNatsSubject("math.add")
.ProcessInline();
options.ListenToNatsSubject("people.>")
.UseJetStream("PEOPLE", "api-two");
});
builder.Services.AddMarten(config =>
{
}).UseLightweightSessions()
.IntegrateWithWolverine()
.UseNpgsqlDataSource();
var app = builder.Build();
app.MapGet("/users", async (IDocumentSession session) =>
{
var response = await session.Query<UserDocument>().ToListAsync();
return Results.Ok(response);
});
app.Run();
public static class MessageHandler
{
public static void Handle(SendMessage message, ILogger logger)
{
logger.LogInformation($"Received message: {message.Message}");
}
public static NumbersAdded Handle(AddThem request)
{
var sum = request.Numbers.Sum();
return new NumbersAdded(sum);
}
public static async Task Handle(UserDocument user, IDocumentSession session)
{
session.Store(user);
await session.SaveChangesAsync();
}
public static async Task Handle(UserNameChanged nameChanged, IDocumentSession session)
{
var user = await session.LoadAsync<UserDocument>(nameChanged.Id);
if (user != null)
{
var updatedUser = user with { Name = nameChanged.NewName };
session.Store(updatedUser);
await session.SaveChangesAsync();
}
}
}

View File

@@ -0,0 +1,15 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": false,
"applicationUrl": "https://apitwo.dev.localhost:7204",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Npgsql": "Warning",
"Wolverine": "Warning"
}
},
"AllowedHosts": "*"
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net10.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "10.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "10.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@@ -0,0 +1 @@
{"Version":1,"ManifestType":"Build","Endpoints":[]}

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Npgsql": "Warning",
"Wolverine": "Warning"
}
},
"AllowedHosts": "*"
}

Some files were not shown because too many files have changed in this diff Show More