自定义标题变量缓存在ASP.net页面上

时间:2011-12-07 21:04:27

标签: c# asp.net caching http-headers

我有一个ASCX控件,它位于用.net编写的CMS内部,我遇到的问题是我们在头文件中传递了一个名为fullname的变量。我们有一个简单的脚本来读取此变量,然后在页面中输出名称。但有时一些用户会得到完全随机的用户名(我已经证实他们没有登录到那台机器,它告诉我这必须是某种服务器端缓存)。我正在考虑使用SetCacheability,但不确定这是否会导致整个页面没有被缓存,或者仅仅是在页面上加载的ascx控件。关于该怎么做的任何想法?

        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        if (!String.IsNullOrEmpty(this.UserName))
        {
            lblUsername.Text = Request.ServerVariables["fullname"].ToString();
        }

1 个答案:

答案 0 :(得分:2)

您可以在ASCX标记中声明@OutputCache属性,并将其属性设置为Duration="0" VarByParam="None"documentation)。

另外,您可以查看“Caching portions of an ASP.NET Page”文章和“Dynamically Updating Portions of a cached page”。