Trong tệp Global.asax
bạn có thể đặt văn hóa hiện tại, ngay cả khi dịch vụ web hoặc trang web của nó.
// 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);
}
}
Bạn đang thay đổi yêu cầu của bạn, tuy nhiên Session
đối tượng sẽ không có sẵn trong Begin_Request
phương pháp, bạn có thể làm điều này trong phương pháp web của bạn.
[WebMethod]
public static string MyWebMethod()
{
String culture = Session["MyCurrentCulutre"] as String;
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(culture);
return "My results";
}
Nguồn
2011-10-25 17:16:32
InitializeCulture() là phương pháp trang không phải là phương thức System.Web.Services.WebService. – rtcardoso
@Waqas Raja, Bạn có thể đưa ra một exmple miễn phí từ cuộc sống thực tại sao tôi lại muốn làm điều đó? cho phép nói im từ israel và iis là trong chúng ta ... bạn có thể cho ví dụ? –
Hãy tưởng tượng rằng tôi lưu ngôn ngữ người dùng ưa thích trong phiên. Sau đó, javascript của tôi thực hiện cuộc gọi webservice. Trong phản hồi, tôi muốn gửi thư người dùng bằng ngôn ngữ ưa thích của người dùng ... – rtcardoso