• Webinars
  • Docs
  • Download
  • Blogs
  • Contact Us
Show / Hide Table of Contents
  • Programmer's Guide
  • Client Side API Programming
    • Setting Up Development Environment
    • Basic Cache Operations
      • Initialize Cache
      • Add Data to Cache
      • Update Data in Cache
      • Fetch Data From Cache
      • Remove Data From Cache
      • Dispose Cache
    • Bulk Operations
      • Adding Collection to Cache
      • Updating Collection in Cache
      • Retrieving Collection from Cache
      • Removing Collection from Cache
      • Deleting Collection from Cache
    • Asynchronous Operations
      • Using Asynchronous Operations
      • Using Asynchronous Operations with Callback Methods
    • Groups and Subgroups
      • Adding/Updating Data Group in Cache
      • Retrieving Data Group from Cache
      • Removing Data Group from Cache
    • Tagging Data in NCache
      • Creating Tags
      • Adding Items with Tags
      • Retrieving Previously Tagged Data
      • Removing Tagged Items from Cache
    • Named Tags
    • Data Expiration Strategies
      • Using Absolute Expiration
      • Using Sliding Expiration
    • Cache Dependencies
      • Key Dependency
      • File Dependency
      • Notification based Dependencies
        • Database Dependency using SQL Server
        • Database Dependency using Oracle
      • Polling Based Dependency
      • Custom Data Source Dependency
      • Multiple Cache Sync Dependency
      • Aggregate Dependency
      • Add Dependency to Existing Item
      • Using CLR Procedures to Call NCache
    • Locking Data in NCache
      • Locking Items in Cache (Pessimistic Locking)
      • Locking Items with Cache Item Versioning (Optimistic Locking)
    • SQL Reference for NCache
      • SQL Syntax
      • Querying Samples for Operators
      • Querying Data in NCache
      • NCache Language Integrated Query (LINQ)
        • Using LINQ in NCache
        • Configuring LINQPad for NCache
        • Querying NCache Data in LINQPad
    • Event Notifications
      • Cache Level Event Notifications
      • Item Level Event Notifications
      • Custom Event Notifications
    • Publish/Subscribe (Pub/Sub) in NCache
      • Pub/Sub Topics
      • Managing Topics
      • Pub/Sub Messages
        • Message Behavior and Properties
        • Creating a Message
      • Publish Messages to Topic
      • Subscribe for Topic Messages
      • Monitoring Pub/Sub Topics
    • Continuous Query
    • Using Streams in NCache
      • Opening with Stream Modes
      • Adding and Updating Data with Streams
      • Retrieving Data from Streams
      • Closing a Stream
    • Security and Encryption
      • NCache Security
      • NCache Data Encryption
    • Data Compression
    • NCache Management API
  • Server Side API Programming
    • Cache Startup Loader
      • Components of Cache Startup Loader
      • Sample Implementation of ICacheLoader on Single Node
      • Sample Implementation of ICacheLoader with Distribution Hints
    • Data Source Providers (Backing Source)
      • Read-Through Caching
        • Configure Read-Through Provider
        • Using Read-Through with Cache Operations
      • Write-Through Caching
        • Configuring Write-Through Provider
        • Using Write-Through with Basic Operations
        • Using Write-Behind with Basic Operations
        • Using Write-Behind with Bulk Operations
        • Using Write-Behind with Async Operations
        • Monitor Write-Through Counters
    • Custom Dependency
      • Sample Implementation of Custom Dependency
      • Sample Usage of Custom Dependency
    • WAN Replication through Bridge
      • Bridge Configurations
      • Implementing Bridge Conflict Resolver
    • Entry Processor
      • Sample Implementation of IEntryProcessor Interface
      • Sample Usage of EntryProcessor
    • MapReduce
      • Sample Implementation of MapReduce Interfaces
      • Sample Usage of MapReduce
    • Aggregator
      • Sample Implementation of IValueExtractor Interface
      • Sample Implementation of IAggregator Interface
      • Sample Usage of Aggregator
    • Dynamic Compact Serialization
  • Client Side ASP.NET Features
    • ASP.NET
      • ASP.NET Session State Provider for NCache
      • Multi-Region ASP.NET Session State Provider for NCache
    • ASP.NET Core
      • Session Storage in ASP.NET Core
        • Configure NCache ASP.NET Core Session Provider
        • Configure ASP.NET Core Sessions with NCache IDistributedCache Provider
      • Multi-Region ASP.NET Core Session Provider for NCache
      • Object Caching in ASP.NET Core
    • ASP.NET SignalR
      • Using NCache Extension for SignalR
    • View State Caching
      • Configuring and Using Content Optimization
      • Group View State with Sessions
      • Limit View State Caching
      • Perform Page Level Grouping for View State
    • ASP.NET Output Cache
      • Configure ASP.NET Output Caching
      • Using ASP.NET Output Cache with Custom Hooks
  • Client Side Third Party Integrations
    • Migrating AppFabric to NCache
      • AppFabric API vs. NCache API
    • NHibernate
      • NCache as NHibernate Second Level Cache
      • Using NHibernate Query Caching
      • Configuring Database Synchronization with NHibernate
    • Entity Framework Caching Integration
      • NCache as Entity Framework Second Level Cache
      • Entity Framework Caching Config File
    • Entity Framework Core Caching
      • Installing NCache Entity Framework Core Provider
      • Configuring NCache Entity Framework Core Provider
      • Using NCache Entity Framework Core Provider
        • Caching Options for EF Core Provider
        • LINQ APIs for EF Core Provider
        • Cache Only APIs for EF Core Provider
        • Query Deferred APIs for EF Core Provider
      • Logging in NCache Entity Framework Core Provider
    • Memcached
      • NCache Memcached Gateway Approach
      • Memcached Client Plugin for .NET
    • Debug NCache Providers in Visual Studio
    • NCache for Visual Studio Extension

ASP.NET Output Cache

Note

This feature is only available in NCache Enterprise edition.

NCache provides an extremely fast and reliable output caching feature for ASP.NET applications running in web farm environment.

ASP.NET’s output caching system caches the different versions of pages’ content depending on the various parameters like query string parameters and browser type. In ASP.NET 4.0, an extensibility point has been added that helps developers use any other caching system of their choice other than ASP.NET’s cache. NCache’s output cache provider is derived from System.Web.Caching.Output CacheProvider to get benefited from ASP.NET 4.0 output caching extensibility.

Since the enterprise level applications are typically hosted in multi-sever web farms, InProc output caching does not provide much benefit as compared to have a distributed OutProc cache. Using this extensibility feature of ASP.NET 4.0, NCache now has its own ASP.NET output caching provider.

  • Distributed in Nature: NCache Output Cache provider is OutProc as well as distributed in nature.

  • Availability: Using NCache’s Output Cache provider, content of different ASP.NET pages can be cached on multiple servers instead of caching them in each of the ASP.NET worker process separately. This allows each server in a web farm to share a single distributed cache.

  • Reliability and Fault Tolerance: Unlike ASP.NET’s output cache, content cached in NCache’s output cache provider is not lost when a worker process crashes or when IIS application pool is recycled.

  • Scalability: NCache Output Cache provider is not restricted to the memory available on each server as the cache cluster can grow dynamically.

  • Output Cache with Custom Hooks: NCache output cache provider gives extra control by allowing the users to hook their custom code to modify the cache item’s attributes before it is cached. Since the ASP.NET output caching system does not give any out of the box mechanism to specify cache dependencies, these hooks can be used to add cached items with the dependencies information. These dependencies can be key, file, or database dependencies.

    As in most of the enterprise applications, a page or control’s output usually depends on some data in the database. In such applications, the user would want to keep an output of a page or control cached until the data gets changed in the database on which this page’s content depends. Similarly, the user may want to change the expiration time for certain pages at runtime overriding the default expiration given in configuration settings. All this can be achieved by writing a custom hook by implementing IOutPutCacheHook interface. These hooks can be implemented, configured and deployed without making any changes to the applications code. All that is required to configure and deploy is to modify the application’s Web.config file.

  • No Application Code Change: These hooks can be implemented, configured and deployed without making any changes to the application’s code. All that is required to configure and deploy is to modify the application’s Web.config file.

In This Section

Configure ASP.NET Output Caching
Explains how to configure ASP.NET Output Cache in NCache applications.

Using ASP.NET Output Cache with Custom Hooks
Explains how to use ASP.NET Output Cache with Custom Hooks in your applications.

Back to top Copyright © 2017 Alachisoft