40 messaggi dal 28 maggio 2009
Ciao a tutti. ho un problemino:

ho un applicazione asp.net divisa in 3 livelli classici (data,business,ui).

nel business ho dei file resx contenenti dei messaggi in lingua (it,en,de). i file si chiamano: general.resx, general.en.resx, general.de.resx.

nel codice viene settata la cultura in questa maniera:

System.Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(_lingua).

dove _lingua ovviamente è dinamica in quanto un utente può navigare nelle tre lingue. ("it","en","de")

Sul iis del web developer di sviluppo del mio pc funziona, sul iis del serverino che ho in ufficio funziona ma sul server di produzione no!!!!

Differenza: in ufficio ho window standard 2008 ita e in produzione ho window server web 2008 in inglese.

Può cambiare qualcosa??

non riesco a farlo funzionare.

Grazie

Dio non gioca a dadi con l'universo...tutto ha una logica!
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

simonepenna ha scritto:

in ufficio ho window standard 2008 ita e in produzione ho window server web 2008 in inglese.

Dalle possibili cause escluderei la versione di Windows Server dato che su entrambe gira lo stesso IIS. Anche le impostazioni della lingua non dovrebbero influire, per cui penso che la causa sia una qualche configurazione diversa tra le due macchine.

Purtroppo non mi viene in mente quale sia l'impostazione che causerebbe un problema simile, per cui in questo momento ti chiedo di verificare che la Culture venga impostata correttamente.

simonepenna ha scritto:

System.Threading.Thread.CurrentThread.CurrentUICulture = New Globalization.CultureInfo(_lingua)

Questa riga di codice va bene. In che punto della tua applicazione si trova?
La Culture dovrebbe essere impostata molto presto nel ciclo di vita della richiesta, come nell'evento BeginRequest. Ad esempio potresti impostarla nel global.asax, come segue:
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)  
   Dim _lingua As String = If(Request.QueryString("lingua"), "it-IT")
   System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(_lingua)
End Sub 

Prova a fare così, vedi se noti differenze. Magari imposta anche la proprietà CurrentCulture, che serve ad adeguare i formati delle date e dei numeri decimali in accordo con la lingua scelta. In questo caso però dovresti fornire una Culture specifica, come "it-IT", anziché solo "it". Non credo che impostare anche la CurrentCulture sia determinante per il tuo problema ma provare non costa nulla.

ciao!
Modificato da BrightSoul il 27 luglio 2013 21.32 -

Enjoy learning and just keep making
40 messaggi dal 28 maggio 2009
Risolto. nel modo in cui si risolvono il 40% dei problemi di windows. Ho ravviato la macchina. Mah...misteri :-p

Grazie comunque!

Dio non gioca a dadi con l'universo...tutto ha una logica!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.