From 57212211eb938c785015e7ee6f8524c5efb1df6e Mon Sep 17 00:00:00 2001 From: Erwin Kramer Date: Fri, 26 Jul 2024 09:41:16 +0200 Subject: [PATCH] implement invariantCulture inside WebApplicationBuilder --- bindings/csharp/http/batch/program.cs | 18 ++++++++++++------ bindings/csharp/sdk/batch/program.cs | 19 ++++++++++++------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/bindings/csharp/http/batch/program.cs b/bindings/csharp/http/batch/program.cs index 1f9a3c245..4535696dd 100644 --- a/bindings/csharp/http/batch/program.cs +++ b/bindings/csharp/http/batch/program.cs @@ -10,13 +10,12 @@ You may obtain a copy of the License at See the License for the specific language governing permissions and limitations under the License. */ -using System; + +using Microsoft.AspNetCore.Localization; using System.Globalization; -using System.IO; using System.Text; using System.Text.Json; using System.Text.Json.Serialization; -using Microsoft.AspNetCore.Mvc; //dapr run --app-id batch-http --app-port 7001 --resources-path ../../../components -- dotnet run @@ -28,10 +27,20 @@ limitations under the License. var daprUrl = $"{baseURL}:{daprPort}/v1.0/bindings/{sqlBindingName}"; var builder = WebApplication.CreateBuilder(args); + +builder.Services.Configure(options => +{ + var invariantCulture = CultureInfo.InvariantCulture; + options.DefaultRequestCulture = new RequestCulture(invariantCulture); + options.SupportedCultures = [invariantCulture]; +}); + var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } +app.UseRequestLocalization(); + var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); @@ -40,9 +49,6 @@ limitations under the License. { Console.WriteLine("Processing batch.."); - // Ensure the culture is set to one that uses dot notation - CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; - string jsonFile = File.ReadAllText("../../../orders.json"); var ordersArray = JsonSerializer.Deserialize(jsonFile); foreach (Order ord in ordersArray?.orders ?? new Order[] { }) diff --git a/bindings/csharp/sdk/batch/program.cs b/bindings/csharp/sdk/batch/program.cs index 31b0f6082..354d95410 100644 --- a/bindings/csharp/sdk/batch/program.cs +++ b/bindings/csharp/sdk/batch/program.cs @@ -10,13 +10,11 @@ You may obtain a copy of the License at See the License for the specific language governing permissions and limitations under the License. */ -using System; + +using Microsoft.AspNetCore.Localization; using System.Globalization; -using System.IO; -using System.Text; using System.Text.Json; using System.Text.Json.Serialization; -using Microsoft.AspNetCore.Mvc; using Dapr.Client; // dapr run --app-id batch-sdk --app-port 7002 --resources-path ../../../components -- dotnet run @@ -25,18 +23,25 @@ limitations under the License. var sqlBindingName = "sqldb"; var builder = WebApplication.CreateBuilder(args); + +builder.Services.Configure(options => +{ + var invariantCulture = CultureInfo.InvariantCulture; + options.DefaultRequestCulture = new RequestCulture(invariantCulture); + options.SupportedCultures = [invariantCulture]; +}); + var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } +app.UseRequestLocalization(); + // Triggered by Dapr input binding app.MapPost("/" + cronBindingName, async () => { Console.WriteLine("Processing batch.."); - // Ensure the culture is set to one that uses dot notation - CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; - string jsonFile = File.ReadAllText("../../../orders.json"); var ordersArray = JsonSerializer.Deserialize(jsonFile); using var client = new DaprClientBuilder().Build();