gpt4 book ai didi

asp.net - 使用 HttpModule 进行本地化是否安全?

转载 作者:行者123 更新时间:2023-12-01 04:13:09 26 4
gpt4 key购买 nike

我正在考虑将 HttpModule 用于本地化目的(基于 this article 中的示例) - 但我很好奇,这安全吗?

代码如下,供引用:

public class CookieLocalizationModule : IHttpModule
{
public void Dispose()
{
}

public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}

void context_BeginRequest(object sender, EventArgs e)
{
// eat the cookie (if any) and set the culture
if (HttpContext.Current.Request.Cookies["lang"] != null)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies["lang"];
string lang = cookie.Value;
var culture = new System.Globalization.CultureInfo(lang);
// is it safe to do this in all situations?
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
}
}

我的印象是多个线程可能会为 Web 请求提供服务。像这样在 HttpModule 中设置 Current/Current UI Cultures 并在 Web 请求的生命周期内尊重它是否安全,而不管有多少线程参与服务它?

更新:

我已经在生产中使用这种方法将近一年了,所以我当然可以验证使用 HttpModule 进行本地化是完全安全的。

最佳答案

是的,这应该没问题。

我很确定只有一个线程会为请求提供服务,除非您明确启动另一个线程,在这种情况下,文化(和其他东西)会被复制到另一个线程。

关于asp.net - 使用 HttpModule 进行本地化是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com