Пользовательские переменные заголовка, которые кэшируются на странице ASP.net - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть элемент управления ASCX, который находится внутри CMS, написанной на .net, проблема, с которой я сталкиваюсь, заключается в том, что мы передали переменную с именем fullname в наших заголовках. У нас есть простой скрипт, который читает эту переменную, а затем выводит имя на странице. Но иногда некоторые пользователи получают совершенно случайные имена пользователей (я убедился, что они не вошли на эту машину, что говорит мне, что это должно быть какое-то кэширование на стороне сервера). Я думал об использовании SetCacheability, но не уверен, приведет ли это к тому, что вся страница не будет кэшироваться или просто элемент управления ascx, который загружается на страницу. Есть идеи, что делать?

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

1 Ответ

2 голосов
/ 08 декабря 2011

Вы можете объявить атрибут @OutputCache в вашей разметке ASCX и установить его свойства как Duration="0" VarByParam="None" ( документация ).

Также вы можете посмотреть "Кэширующие части статьи ASP.NET Page"и" Динамически обновляемые части кэшированной страницы".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...