Кэш имеет глобальную область действия и сохраняется в течение всего срока службы вашего веб-приложения. Это не для httprequest.
Вы можете проверить это с помощью простого кода.
<asp:TextBox ID="txtData" runat="server" Width="200px"></asp:TextBox>
<br />
<asp:Button ID="btnPutToCache" runat="server" Text="Put to Cache" onclick="btnPutToCache_Click" />
<br />
<asp:Button ID="btnGetFromCache" runat="server" text="Get from Cache" onclick="btnGetFromCache_Click" />
<br />
<asp:Label id="lblGetFromCache" runat="server"></asp:Label>
И код позади:
protected void btnPutToCache_Click(object sender, EventArgs e) {
Cache["data"] = txtData.Text;
}
protected void btnGetFromCache_Click(object sender, EventArgs e) {
lblGetFromCache.Text = Cache["data"].ToString();
}
Поместите весь приведенный выше код на одной странице. Разверните свой сайт. Нажмите на страницу из экземпляра окна браузера, вставьте тестовый текст в текстовое поле и нажмите кнопку «Поместить в кэш».
Откройте новое окно браузера и нажмите на страницу. Нажмите кнопку «Получить из кэша» и просмотрите результаты.