Salve a tutti, mi trovo nella stessa situazione, qualcuno ha risolto? vi descrivo lo scenario e propongo la mia idea, anche se non so se è realizzabile: sito multilingua, masterpage con i link ad ogni lingua, sul click richiamo un metodo (uno per ogni lingua) della classe MasterPage che setta la variabile di sessione Session("Culture")con la cultura relativa al click

codice:
    Protected Sub linkIta_Click(sender As Object, e As EventArgs)        Session("Culture") = New CultureInfo("it-IT")
        Session("UICulture") = New CultureInfo("it-IT")


        Server.Transfer(Request.Path)
    End Sub
Ho creato una classe che eredita dalla classe Page dove riscrivo il metodo InitializeCulture() in modo che setti la sessione ad inglese nel caso non sia settata e applichi la cultura nella sessione.

codice:
    Protected Overrides Sub InitializeCulture()        Dim c As CultureInfo
        If Session("Culture") IsNot Nothing Then
            c = DirectCast(Session("Culture"), CultureInfo)
        Else
            c = New CultureInfo("en-US")
        End If


        Thread.CurrentThread.CurrentCulture = c


        If Session("UICulture") IsNot Nothing Then
            c = DirectCast(Session("UICulture"), CultureInfo)
        Else
            c = New CultureInfo("en-US")
        End If


        Thread.CurrentThread.CurrentUICulture = c
        MyBase.InitializeCulture()
    End Sub
In questo modo si verifica il problema per cui è stato aperto questo post, una chiamata all'indirizzo www.miosito.it/pagina1.aspx può reindirizzare ad una pagina in tutte le lingue.

Ho pensato di risolvere cosi, prendiamo un'esempio:

- richiesta dell'indirizzo www.miosito.it/pagina1.aspx

vorrei intercettare la chiamata e sostituire l'url con questo

www.miosito.it/LinguaNellaSessione/pagina1.aspx

altro esempio:

- richiesta dell'indirizzo www.miosito.it

potrebbe diventare

www.miosito.it/LinguaNellaSessione/

in questo modo alla stessa pagina ci si può accedere con percorsi diversi a seconda della lingua, facili da indicizzare.

Che ne dite?