【发布时间】:2011-10-25 17:11:43
【问题描述】:
谁能告诉我如何在 asp.net webservice 调用中动态初始化线程文化?
在我的 aspx 页面中,我有一个基页,我在其中覆盖 InitializeCulture() 方法。
请注意,所选语言的值保存在会话状态中。
【问题讨论】:
标签: asp.net web-services currentculture
谁能告诉我如何在 asp.net webservice 调用中动态初始化线程文化?
在我的 aspx 页面中,我有一个基页,我在其中覆盖 InitializeCulture() 方法。
请注意,所选语言的值保存在会话状态中。
【问题讨论】:
标签: asp.net web-services currentculture
在Global.asax 文件中,您可以设置当前的文化,即使它的网络服务或网页。
// 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);
}
}
您正在更改您的要求,但是 Session 对象在 Begin_Request 方法中将不可用,您可以在您的 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";
}
【讨论】: