Skip to content

Commit e605445

Browse files
authored
Update .NET version to 10.0 for CSharp/aspnetcore (#10241)
* Update .NET version to 10.0 for CSharp/aspnetcore * Update database drivers versions * Fix updates * Try older npgsql * Only run "updates" and "queries" * Ensure there are no updated ids duplicated * Prevent collisions * Update connection string * Sync code
1 parent 5e14b91 commit e605445

File tree

14 files changed

+148
-145
lines changed

14 files changed

+148
-145
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;SSL Mode=Disable;Maximum Pool Size=512;NoResetOnClose=true;Enlist=false;Max Auto Prepare=4",
2+
"ConnectionString": "Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;SSL Mode=Disable;Maximum Pool Size=18;Enlist=false;Max Auto Prepare=4;Multiplexing=true;Write Coalescing Buffer Threshold Bytes=1000;",
33
"Database": "postgresql"
44
}

frameworks/CSharp/aspnetcore/aspnetcore-aot.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
1+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
22
RUN apt-get update
33
RUN apt-get -yqq install clang zlib1g-dev
44
WORKDIR /app
55
COPY src/Platform .
66
RUN dotnet publish -c Release -o out /p:DatabaseProvider=Npgsql /p:PublishAot=true /p:OptimizationPreference=Speed /p:GarbageCollectionAdaptationMode=0
77

8-
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
8+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
99
ENV URLS=http://+:8080
1010

1111
WORKDIR /app

frameworks/CSharp/aspnetcore/aspnetcore-minimal.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
1+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
22
WORKDIR /app
33
COPY src/Minimal .
44
RUN dotnet publish -c Release -o out
55

6-
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
6+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
77
ENV URLS http://+:8080
88
ENV DOTNET_GCDynamicAdaptationMode=0
99
ENV DOTNET_ReadyToRun=0

frameworks/CSharp/aspnetcore/aspnetcore-mvc.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
1+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
22
WORKDIR /app
33
COPY src/Mvc .
44
RUN dotnet publish -c Release -o out
55

6-
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
6+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
77
ENV URLS http://+:8080
88
ENV DOTNET_GCDynamicAdaptationMode=0
99
ENV DOTNET_ReadyToRun=0

frameworks/CSharp/aspnetcore/aspnetcore-mysql.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
1+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
22
WORKDIR /app
33
COPY src/Platform .
44
RUN dotnet publish -c Release -o out /p:DatabaseProvider=MySqlConnector
55

6-
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
6+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
77
ENV URLS http://+:8080
88
ENV DOTNET_GCDynamicAdaptationMode=0
99
ENV DOTNET_ReadyToRun=0

frameworks/CSharp/aspnetcore/aspnetcore.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
1+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
22
WORKDIR /app
33
COPY src/Platform .
44
RUN dotnet publish -c Release -o out /p:DatabaseProvider=Npgsql
55

6-
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
6+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime
77
ENV URLS=http://+:8080
88
ENV DOTNET_GCDynamicAdaptationMode=0
99
ENV DOTNET_ReadyToRun=0

frameworks/CSharp/aspnetcore/src/Minimal/Database/Db.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ public async Task<World[]> LoadMultipleUpdatesRows(string? parameter)
6363

6464
var parameters = new Dictionary<string, object>();
6565

66+
var ids = new int[count];
67+
var numbers = new int[count];
68+
6669
await using var db = _dbProviderFactory.CreateConnection();
6770

6871
db!.ConnectionString = _connectionString;
@@ -72,18 +75,33 @@ public async Task<World[]> LoadMultipleUpdatesRows(string? parameter)
7275
for (var i = 0; i < count; i++)
7376
{
7477
results[i] = await ReadSingleRow(db);
78+
ids[i] = results[i].Id;
7579
}
80+
Array.Sort(ids);
81+
82+
// Ensure unique ids by incrementing duplicates
83+
for (var i = 1; i < count; i++)
84+
if (ids[i] == ids[i - 1])
85+
ids[i] = (ids[i] % 10000) + 1;
7686

7787
for (var i = 0; i < count; i++)
7888
{
7989
var randomNumber = Random.Shared.Next(1, 10001);
80-
parameters[$"@Rn_{i}"] = randomNumber;
81-
parameters[$"@Id_{i}"] = results[i].Id;
90+
if (results[i].RandomNumber == randomNumber)
91+
{
92+
randomNumber = (randomNumber % 10000) + 1;
93+
}
8294

8395
results[i].RandomNumber = randomNumber;
96+
numbers[i] = randomNumber;
8497
}
8598

86-
await db.ExecuteAsync(BatchUpdateString.Query(count), parameters);
99+
var update = "UPDATE world w SET randomnumber = u.new_val FROM (SELECT unnest(@ids) as id, unnest(@newValues) as new_val) u WHERE w.id = u.id";
100+
101+
parameters["ids"] = ids;
102+
parameters["newValues"] = numbers;
103+
104+
await db.ExecuteAsync(update, parameters);
87105
return results;
88106
}
89107

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<LangVersion>latest</LangVersion>
88
<UserSecretsId>38063504-d08c-495a-89c9-daaad2f60f31</UserSecretsId>
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="Npgsql" Version="9.0.2" />
13-
<PackageReference Include="Dapper" Version="2.1.35" />
14-
<PackageReference Include="RazorSlices" Version="0.8.1" />
12+
<PackageReference Include="Npgsql" Version="10.0.0" />
13+
<PackageReference Include="Dapper" Version="2.1.66" />
14+
<PackageReference Include="RazorSlices" Version="0.9.5" />
1515
</ItemGroup>
1616

1717
</Project>
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net9.0</TargetFramework>
4+
<TargetFramework>net10.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<LangVersion>latest</LangVersion>
88
<UserSecretsId>574ff97c-fe74-4b0d-af25-8d7200a036f5</UserSecretsId>
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="Npgsql" Version="9.0.2" />
13-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.2" />
12+
<PackageReference Include="Npgsql" Version="10.0.0" />
13+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="10.0.0" />
1414
</ItemGroup>
1515

1616
</Project>

frameworks/CSharp/aspnetcore/src/Platform/Data/Random.cs

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)