Sweet...  Good direction.

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Craig Andera
Sent: Monday, October 29, 2007 2:36 PM
To: 'FlexWiki Users Mailing List'
Subject: [Flexwiki-users] Changes

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

Reply via email to