Browse Source

Csharp/Reaper - Update to .NET 9 / Latest Version (#9432)

* Update reaper to latest version

* Correct default log level
Rudi Visser 8 months ago
parent
commit
8ce95456d2

+ 2 - 2
frameworks/CSharp/reaper/reaper.dockerfile

@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
 WORKDIR /src
 COPY src .
 RUN apt-get update \
@@ -7,7 +7,7 @@ RUN apt-get update \
 WORKDIR "/src/Benchmark"
 RUN dotnet publish "Benchmark.csproj" -c Release -o /app/publish
 
-FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
+FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final
 WORKDIR /app
 EXPOSE 8080
 COPY --from=build /app/publish .

+ 3 - 3
frameworks/CSharp/reaper/src/Benchmark/Benchmark.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
 
     <PropertyGroup>
-        <TargetFramework>net8.0</TargetFramework>
+        <TargetFramework>net9.0</TargetFramework>
         <Nullable>enable</Nullable>
         <ImplicitUsings>enable</ImplicitUsings>
         <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
@@ -18,8 +18,8 @@
     </ItemGroup>
     
     <ItemGroup>
-        <PackageReference Include="Reaper.Core" Version="0.1.0-alpha.0.6" />
-        <PackageReference Include="Reaper.SourceGenerator" Version="0.1.0-alpha.0.6" />
+        <PackageReference Include="Reaper.Core" Version="0.1.0-alpha.0.43" />
+        <PackageReference Include="Reaper.SourceGenerator" Version="0.1.0-alpha.0.43" />
     </ItemGroup>
 
 </Project>

+ 3 - 2
frameworks/CSharp/reaper/src/Benchmark/JsonEndpoint.cs

@@ -11,9 +11,10 @@ public class JsonResponse
 [ReaperRoute(HttpVerbs.Get, "/json")]
 public class JsonEndpoint : ReaperEndpointXR<JsonResponse>
 {
-    public override Task<JsonResponse> HandleAsync()
+    public override Task ExecuteAsync()
     {
         Context.Response.ContentLength = 27;
-        return Task.FromResult(new JsonResponse { Message = "Hello, World!" });
+        Result = new JsonResponse { Message = "Hello, World!" };
+        return Task.CompletedTask;
     }
 }

+ 3 - 2
frameworks/CSharp/reaper/src/Benchmark/PlainTextEndpoint.cs

@@ -6,11 +6,12 @@ namespace Benchmark;
 [ReaperRoute(HttpVerbs.Get, "/plaintext")]
 public class PlainTextEndpoint : ReaperEndpointXR<string>
 {
-    public override Task<string> HandleAsync()
+    public override Task ExecuteAsync()
     {
         Context.Response.StatusCode = 200;
         Context.Response.ContentType = "text/plain";
         Context.Response.ContentLength = 13;
-        return Task.FromResult("Hello, World!");
+        Result = "Hello, World!";
+        return Task.CompletedTask;
     }
 }

+ 1 - 10
frameworks/CSharp/reaper/src/Benchmark/Program.cs

@@ -1,14 +1,8 @@
-using System.Text.Json.Serialization;
-using Benchmark;
 using Reaper;
 
 var builder = WebApplication.CreateSlimBuilder(args);
 builder.Logging.ClearProviders();
 builder.Logging.Configure(o => o.ActivityTrackingOptions = ActivityTrackingOptions.None);
-builder.Services.ConfigureHttpJsonOptions(o =>
-{
-    o.SerializerOptions.TypeInfoResolverChain.Insert(0, SourceGenerationContext.Default);
-});
 builder.UseReaper();
 
 var app = builder.Build();
@@ -16,7 +10,4 @@ var app = builder.Build();
 app.UseReaperMiddleware();
 app.MapReaperEndpoints();
 
-app.Run();
-
-[JsonSerializable(typeof(JsonResponse))]
-internal partial class SourceGenerationContext : JsonSerializerContext { }
+app.Run();

+ 1 - 1
frameworks/CSharp/reaper/src/Benchmark/appsettings.Development.json

@@ -5,4 +5,4 @@
       "Microsoft.AspNetCore": "Warning"
     }
   }
-}
+}