ฉันได้รับการอ้างอิงที่ชัดเจนถึงรหัส ASP.NET ที่จำเป็นในการปิดใช้งานเบราว์เซอร์จากการแคชหน้า มีหลายวิธีในการส่งผลกระทบต่อส่วนหัว HTTP และเมตาแท็กและฉันได้รับการแสดงผลที่แตกต่างกันต้องตั้งค่าเพื่อให้เบราว์เซอร์ต่างๆทำงานได้อย่างถูกต้อง จะเป็นการดีมากที่จะได้รับโค้ดอ้างอิงที่แสดงความคิดเห็นเพื่อระบุว่าใช้งานได้กับเบราว์เซอร์ทั้งหมดและจำเป็นสำหรับเบราว์เซอร์ใดโดยเฉพาะรวมถึงเวอร์ชัน
มีข้อมูลจำนวนมากเกี่ยวกับปัญหานี้อยู่ที่นั่น แต่ฉันยังไม่พบข้อมูลอ้างอิงที่ดีที่อธิบายถึงประโยชน์ของแต่ละวิธีและว่าเทคนิคเฉพาะถูกแทนที่ด้วย API ระดับที่สูงกว่าหรือไม่
ฉันสนใจ ASP.NET 3.5 SP1 เป็นพิเศษ แต่มันก็เป็นการดีที่จะได้รับคำตอบสำหรับเวอร์ชันก่อนหน้านี้เช่นกัน
รายการบล็อกนี้ความแตกต่างที่สำคัญสองประการระหว่าง Firefox และ IE Cachingอธิบายถึงความแตกต่างของพฤติกรรมโปรโตคอล HTTP บางประการ
โค้ดตัวอย่างต่อไปนี้แสดงประเภทของสิ่งที่ฉันสนใจ
public abstract class NoCacheBasePage : System.Web.UI.Page
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        DisableClientCaching();
    }
    private void DisableClientCaching()
    {
        // Do any of these result in META tags e.g. <META HTTP-EQUIV="Expire" CONTENT="-1">
        // HTTP Headers or both?
        // Does this only work for IE?
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        // Is this required for FireFox? Would be good to do this without magic strings.
        // Won't it overwrite the previous setting
        Response.Headers.Add("Cache-Control", "no-cache, no-store");
        // Why is it necessary to explicitly call SetExpires. Presume it is still better than calling
        // Response.Headers.Add( directly
        Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-1));
    }
}