I just checked in a pretty big change. Big in the sense of lots of files
affected. Moderate in terms of the impact.
What I've added is another content pipeline provider called
DependencyRecorder. This is a provider that sits at the very front of the
chain and essentially records every request into the pipeline. This is in
support of the output caching stuff I'm working on. It's essentially the
first third of the implementation - the next bit will be a
ModificationRecorder that will detect writes and notify the WikiApplication
accordingly. The third part will be the bits in the WikiApplication that
maintain the output cache accordingly, invalidating cache items when the
appropriate modifications come in.
In order to pull this off, the biggest change for developers is that *every
request into the content pipeline* must now have an active RequestContext.
This is fairly simple, as you just need to do something like this:
using (RequestContext.Create())
{
// Do operations here
}
for every top-level request. Note that nested RequestContexts are supported
only for unit testing configurations, because they make it somewhat harder
to ensure cache coherency. If you do not establish a RequestContext before
calling into the pipeline, you'll get a MissingRequestContextException, so
it should be pretty obvious how you screwed up.
Create will probably change somewhat in the near future to require a require
an IWikiApplication, but that'll be an easy change, as the compiler will
tell us if we miss anything.
I've tried to go through everywhere and add in this call, but I've likely
missed something. So anyone that has a chance to download build 2.0.0.164
and try this out, please mash buttons and see if you can shake out any
corner cases.
If there are any questions about this change or the planned output caching
feature of which this is a part, please ask.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Flexwiki-users mailing list
Flexwiki-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flexwiki-users