出力キャッシュを実行しようとしている ASP.NET ページがありますが、問題が発生しました。私の ASPX ページには
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MYProject._Default" %>
<%@ OutputCache Duration="600" VaryByParam="None" %>
<%@ Register TagPrefix="MYProjectUC" TagName="PageHeader" Src="~/Lib/UserControls/PageHeader.ascx" %>
<%@ Register TagPrefix="MYProjectUC" TagName="PageFooter" Src="~/Lib/UserControls/PageFooter.ascx" %>
ASPX ページに「PageHeader」というユーザー コントロールがあります。には、ログインしているユーザーに基づいていくつかのリンクを表示したいPageHeader.ascx
ASP.NETコントロールがあります。Substitution
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PageHeader.ascx.cs" Inherits="MyProject.Lib.UserControls.PageHeader1" %>
<div class="headerRow">
<div class="headerLogo">
<a href="Default.aspx"><img src="Lib/Images/header.gif" alt=""></a>
</div>
<div id="divHeaderMenu" runat="server">
<asp:Substitution ID="subLinks" runat="server" MethodName="GetUserProfileHeaderLinks" />
</div>
</div><!--headerRow-->
ユーザー コントロールのコード ビハインドには、セッションを使用してログインしているかどうかに基づいて文字列を返す静的メソッドがあります。
public static string GetUserProfileHeaderLinks(HttpContext context)
{
string strHeaderLinks = string.Empty;
// check session and return string
return strHeaderLinks;
}
ただし、ページには、ログイン ユーザーとゲスト ユーザーの両方に対して同じコンテンツが表示されます。
私の目的は、置換コントロール内のコンテンツを除いてページをキャッシュすることです。どうすればいいですか?