gpt4 book ai didi

c# - 如何在 ASP.NET MVC 中设置默认的初始化 cookie

转载 作者:太空狗 更新时间:2023-10-30 00:45:09 25 4
gpt4 key购买 nike

我想知道是否有人可以阐明 cookie 管理。更准确地说,我想知道当用户在网站上开始 session 时如何设置初始 cookie。

当前,ASP.NET_SessionId cookie 在用户导航到域时位于用户计算机上。我想设置一个额外的 cookie,其中包含 languageidcountryid 的详细信息,并在用户首次导航到该网站时使用默认参数。

有谁知道是否有任何技术可以做到这一点,例如通过 web.config 设置或使用 layout.cshtml 放置 cookie 详细信息等

Response.Cookies["language"].Value = "1";

Response.Cookies["country"].Value= "7";

或类似的?,任何选项将不胜感激。

最佳答案

您可以在操作过滤器中执行此操作:

public class LocalizationAwareAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var httpContext = filterContext.HttpContext.Current;

if (!httpContext.Cookies.Keys.Contains("language"))
{
httpContext.Response.AppendCookie(new HttpCookie("language", 1));
}
if (!httpContext.Cookies.Keys.Contains("country"))
{
httpContext.Response.AppendCookie(new HttpCookie("country", 7));
}
}
}

过滤器可以全局应用,因此您不必担心在每个操作方法或 Controller 上记住它。

关于c# - 如何在 ASP.NET MVC 中设置默认的初始化 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171238/

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