Nel file Global.asax
è possibile impostare la cultura corrente, anche se il relativo servizio Web o pagina Web.
// PreRequestHandlerExecute occurs after initialization of Session
void Application_PreRequestHandlerExecute(Object Sender, EventArgs e)
{
// check if session is required for the request
// as .css don't require session and accessing session will throw exception
if (Context.Handler is IRequiresSessionState
|| Context.Handler is IReadOnlySessionState)
{
string culture = "en-US";
if (Session["MyCurrentCulutre"] != null)
{
culture = Session["MyCurrentCulutre"] as String;
}
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(culture);
}
}
State cambiando le vostre esigenze, però Session
oggetto non sarà disponibile in Begin_Request
metodo, è possibile farlo nel metodo web.
[WebMethod]
public static string MyWebMethod()
{
String culture = Session["MyCurrentCulutre"] as String;
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(culture);
return "My results";
}
fonte
2011-10-25 17:16:32
InitializeCulture() è un metodo di pagina non un metodo System.Web.Services.WebService. – rtcardoso
@Waqas Raja, puoi dare un esempio della vita reale perché dovrei voler farlo? diciamo che im dall'Israele e l'io è in noi ... puoi dare un esempio? –
Immagina di salvare la lingua preferita dell'utente in sessione. Quindi il mio javascript effettua una chiamata al servizio web. Nella risposta voglio inviare un messaggio utente nella lingua preferita dell'utente ... – rtcardoso