Process.Start e CurrentCulture

mercoledì 06 settembre 2017 - 11.48
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows Server 2008 R2  |  Visual Studio 2008  |  Oracle 11g

volperubbia Profilo | Senior Member

Ciao a tutti,
dalla mia applicazione ASP.NET MVC 3.5 lancio in un processo un exe .NET (che a sua volta chiama una dll Delphi che genera un report in formato pdf) ...

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("it-IT");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.LCID);
using (var obj = new Process()) {
obj.StartInfo = ...
obj.StartInfo.WorkingDirectory = ...
obj.Start();
...
};

funziona, solo che pubblicando su un server mi mette nel .pdf il punto decimale anzichè la virgola, nonostante sul server sotto paese e lingua / impostazioni aggiuntive ci sia la vigola decimale. La cosa strana è che eseguendo direttamente l'eseguibile .NET sul server (entrandoci via desktop remoto), usa correttamente la virgola.

In entrambi i casi, nel log dell'eseguibile .NET prima della chiamata alla dll Delphi trovo:
CurrentCulture: { Name: "it-IT"; NumberDecimalSeparator: ","; NumberGroupSeparator: "."; ShortDatePattern: "dd/MM/yyyy" }.
CurrentUICulture: { Name: "it-IT"; NumberDecimalSeparator: ","; NumberGroupSeparator: "."; ShortDatePattern: "dd/MM/yyyy" }.
InstalledUICulture: { Name: "en-US"; NumberDecimalSeparator: "."; NumberGroupSeparator: ","; ShortDatePattern: "M/d/yyyy" }.

Quali altre impostazioni potrebbero influire sul formato numerico?
In un caso l'eseguibile .NET è lanciato da un utente windows mentre nell'altro dal sito / da IIS, questo influisce, ma non riesco a capire su quali configurazioni di IIS / altro potrei agire per ottenere lo stesso risultato. Vorrei riuscire ad ottenere ciò senza alcuna modifica alle configurazioni sul server.

Grazie mille,
Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5