Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsProvidersProvidersPage Output Cache ProviderPage Output Cache Provider
Previous
 
Next
New Post
5/8/2014 6:26 PM
 
OutputCachingProvider is the correct class to inherit from.

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
5/25/2014 1:32 PM
 
I've been doing some tests, using Apache HTTP 2.2 as a caching proxy in front of DotNetNuke 7.2.2. Even with module caching etc in place, the response time for a page goes down from a few hunderd millieseconds to a few milliseconds when you have the page cached in the Apache daemon. However, since for some unknown reason even public pages have "Cache-Control: private" you need to add some extra settings to your Apache configuration:

CacheEnable disk /
CacheRoot /some/path/to/cache/dir
CacheDirLevels 3
CacheDirLength 5
CacheIgnoreNoLastMod on
CacheStorePrivate on
CacheStoreNoStore on
CacheIgnoreCacheControl on
CacheIgnoreQueryString off
CacheDefaultExpire 86400
CacheMaxFileSize 100000
CacheMaxExpire 172800

Of course, in this case it becomes quite hard to log on since you will always get served from cache when the page was ever requested before. And you should make sure the cache is emptied after fetching some pages when authenticated.

So, I am curious for the results of your implementation on basis of OutputCachingProvider.
 
New Post
5/25/2014 4:29 PM
 

In addition to the previous reply:

what helped for me is to change Default.aspx as follows in combination with a caching proxy:

when isAuthenticated:

               Response.Cache.SetCacheability(HttpCacheability.NoCache); // So Host.AuthenticatedCacheability = 0

And then add an else branch around line 262:

            else
            {
                        Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
                        //
                        // Allow proxies to cache for one day.
                        //
                        Response.Cache.SetProxyMaxAge(new TimeSpan(24, 0, 0));
                        //
                        // Enforce not caching at client.
                        //
                        Response.Cache.SetMaxAge(new TimeSpan(0, 0, 0));
            }
This allowed me to change CacheIgnoreCacheControl to off and in combination with "CacheIgnoreHeaders Set-Cookie Server" I can no be sure that the authenticated sessions are no longer cached in the proxy.

 
New Post
5/25/2014 7:11 PM
 
That's good but all this is about client side caching (correct me if I'm wrong). You can set this in web config too and have different settings for different folders too.
The "client" part of the DNN cache is something I didn't look at yet.

The OutputCache is server side caching, to avoid all the page life-cycle and eventual sql queries
 
New Post
5/26/2014 4:07 AM
 
FYI you can change the value of the authenticated cacheabilty that is applied to authenticated users via the UI - see http://www.dnnsoftware.com/community-...

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
Previous
 
Next
HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsProvidersProvidersPage Output Cache ProviderPage Output Cache Provider


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out