gpt4 book ai didi

asp.net - 在 ASP.NET 中,是否可以按主机名输出缓存?即,varbyhost 或 varbyhostheader?

转载 作者:行者123 更新时间:2023-12-04 10:12:42 25 4
gpt4 key购买 nike

我有一个网站,有许多主机 header 。主题和数据取决于主机头,不同的主机加载不同外观的站点。

所以让我们假设我有一个名为“Foo”的网站,可以返回搜索结果。相同的代码运行下面列出的两个站点。是同一个服务器和网站 (使用主机头)

  • www.foo.com
  • www.foo.com.au

  • 现在,如果我去 .com ,该站点以蓝色为主题。如果我去 .com.au网站,它以红色为主题。

    并且相同搜索结果的数据是不同的,基于主机名:US results for .com和澳大利亚的结果 .com.au .

    如果我想使用 OutputCaching ,这可以通过主机名来处理和分区吗?

    我担心一个人去了 .com 之后站点,(正确返回美国结果)第二个人访问 .com.au站点并搜索相同的数据将获得 .com 的主题和结果。地点。

    可以缓存吗?

    最佳答案

    是的,您可以“因风而变”。我正在使用相同的:

    将以下内容放在您的 Global.asax.cs 中:

    public override string GetVaryByCustomString(HttpContext context, string custom)
    {
    if (custom == "Host")
    {
    return context.Request.Url.Host;
    }
    return String.Empty;
    }

    然后在您的 Controller 中:
    [OutputCache(VaryByParam = "None", VaryByCustom="Host", Duration = 14400)]
    public ActionResult Index()
    {
    return View();
    }

    关于asp.net - 在 ASP.NET 中,是否可以按主机名输出缓存?即,varbyhost 或 varbyhostheader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2807610/

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