diff --git a/frameworks/CSharp/reaper/reaper.dockerfile b/frameworks/CSharp/reaper/reaper.dockerfile
index 1e8171b8dd4..7da5d03009f 100644
--- a/frameworks/CSharp/reaper/reaper.dockerfile
+++ b/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 .
diff --git a/frameworks/CSharp/reaper/src/Benchmark/Benchmark.csproj b/frameworks/CSharp/reaper/src/Benchmark/Benchmark.csproj
index e0e1ed8ee20..b0e9fd09211 100644
--- a/frameworks/CSharp/reaper/src/Benchmark/Benchmark.csproj
+++ b/frameworks/CSharp/reaper/src/Benchmark/Benchmark.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net9.0
enable
enable
Linux
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/frameworks/CSharp/reaper/src/Benchmark/JsonEndpoint.cs b/frameworks/CSharp/reaper/src/Benchmark/JsonEndpoint.cs
index 26fba3b743f..f2ba38be4ca 100644
--- a/frameworks/CSharp/reaper/src/Benchmark/JsonEndpoint.cs
+++ b/frameworks/CSharp/reaper/src/Benchmark/JsonEndpoint.cs
@@ -11,9 +11,10 @@ public class JsonResponse
[ReaperRoute(HttpVerbs.Get, "/json")]
public class JsonEndpoint : ReaperEndpointXR
{
- public override Task 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;
}
}
\ No newline at end of file
diff --git a/frameworks/CSharp/reaper/src/Benchmark/PlainTextEndpoint.cs b/frameworks/CSharp/reaper/src/Benchmark/PlainTextEndpoint.cs
index a316a55b6b4..eb88ca8bd58 100644
--- a/frameworks/CSharp/reaper/src/Benchmark/PlainTextEndpoint.cs
+++ b/frameworks/CSharp/reaper/src/Benchmark/PlainTextEndpoint.cs
@@ -6,11 +6,12 @@ namespace Benchmark;
[ReaperRoute(HttpVerbs.Get, "/plaintext")]
public class PlainTextEndpoint : ReaperEndpointXR
{
- public override Task 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;
}
}
\ No newline at end of file
diff --git a/frameworks/CSharp/reaper/src/Benchmark/Program.cs b/frameworks/CSharp/reaper/src/Benchmark/Program.cs
index 7a44cf047bd..1c109c2ee8b 100644
--- a/frameworks/CSharp/reaper/src/Benchmark/Program.cs
+++ b/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 @@
app.UseReaperMiddleware();
app.MapReaperEndpoints();
-app.Run();
-
-[JsonSerializable(typeof(JsonResponse))]
-internal partial class SourceGenerationContext : JsonSerializerContext { }
\ No newline at end of file
+app.Run();
\ No newline at end of file
diff --git a/frameworks/CSharp/reaper/src/Benchmark/appsettings.Development.json b/frameworks/CSharp/reaper/src/Benchmark/appsettings.Development.json
index 0c208ae9181..1b2d3bafd88 100644
--- a/frameworks/CSharp/reaper/src/Benchmark/appsettings.Development.json
+++ b/frameworks/CSharp/reaper/src/Benchmark/appsettings.Development.json
@@ -5,4 +5,4 @@
"Microsoft.AspNetCore": "Warning"
}
}
-}
+}
\ No newline at end of file