<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Agatha&#8217;s Caching Layer Implementation: First Draft</title>
	<atom:link href="http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/feed/" rel="self" type="application/rss+xml" />
	<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/</link>
	<description>Trying to walk that thin line between intelligence and ignorance</description>
	<lastBuildDate>Thu, 09 Sep 2010 13:37:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Agatha 1.1 Is Out &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-38660</link>
		<dc:creator>Agatha 1.1 Is Out &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</dc:creator>
		<pubDate>Sun, 09 May 2010 12:09:19 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-38660</guid>
		<description>[...] version of the server side caching layer.&#160; Consider this implementation to be experimental and there are most likely plenty of issues [...]</description>
		<content:encoded><![CDATA[<p>[...] version of the server side caching layer.&#160; Consider this implementation to be experimental and there are most likely plenty of issues [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Checking Whether A Method Is Overridden &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-24535</link>
		<dc:creator>Checking Whether A Method Is Overridden &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</dc:creator>
		<pubDate>Mon, 11 Jan 2010 20:05:09 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-24535</guid>
		<description>[...] of the requirements for using Agatha’s Caching Layer is that your request types must override the Equals and the GetHashCode methods.&#160; In order to [...]</description>
		<content:encoded><![CDATA[<p>[...] of the requirements for using Agatha’s Caching Layer is that your request types must override the Equals and the GetHashCode methods.&#160; In order to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How QuickNet Found 2 Bugs That You And I Didn&#8217;t &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23301</link>
		<dc:creator>How QuickNet Found 2 Bugs That You And I Didn&#8217;t &#124; The Inquisitive Coder &#8211; Davy Brion&#39;s Blog</dc:creator>
		<pubDate>Tue, 22 Dec 2009 22:03:51 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23301</guid>
		<description>[...] Agatha&#8217;s Caching Layer Implementation: First Draft [...]</description>
		<content:encoded><![CDATA[<p>[...] Agatha&rsquo;s Caching Layer Implementation: First Draft [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Interesting Finds: 2009 12.15 ~ 12.20 - gOODiDEA.NET</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23271</link>
		<dc:creator>Interesting Finds: 2009 12.15 ~ 12.20 - gOODiDEA.NET</dc:creator>
		<pubDate>Sun, 20 Dec 2009 00:35:15 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23271</guid>
		<description>[...] Agatha’s Caching Layer Implementation: First Draft [...]</description>
		<content:encoded><![CDATA[<p>[...] Agatha’s Caching Layer Implementation: First Draft [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23223</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Tue, 15 Dec 2009 05:49:01 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23223</guid>
		<description>@Marco,

we can&#039;t use a container-specific feature...</description>
		<content:encoded><![CDATA[<p>@Marco,</p>
<p>we can&#8217;t use a container-specific feature&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23222</link>
		<dc:creator>Marco</dc:creator>
		<pubDate>Tue, 15 Dec 2009 04:09:53 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23222</guid>
		<description>Sounds like the windsor interceptor would work well in this situation.</description>
		<content:encoded><![CDATA[<p>Sounds like the windsor interceptor would work well in this situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Rea</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23211</link>
		<dc:creator>Andrew Rea</dc:creator>
		<pubDate>Mon, 14 Dec 2009 12:52:20 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23211</guid>
		<description>Nice post, I got thinking about the caching aspect after reading a few of your earlier posts.  I had an idea about creating a custom behaviour which you could for example use as an attribute to decorate the method.  Inside the behaviour, think it is a dispatcher, not sure, but anyway you could use the as keyword to check that the incoming type is of ICacheable or something:

&lt;code&gt;

var cacheRequest = request as ICacheable;
if(cacheRequest != null){
return cacheRequest.HandleCaching(); //Or something
}

&lt;/code&gt;

Anyway, just a thought.  I am really enjoying your posts on your Agatha project!!  Excellent work and keep it up!! :-)</description>
		<content:encoded><![CDATA[<p>Nice post, I got thinking about the caching aspect after reading a few of your earlier posts.  I had an idea about creating a custom behaviour which you could for example use as an attribute to decorate the method.  Inside the behaviour, think it is a dispatcher, not sure, but anyway you could use the as keyword to check that the incoming type is of ICacheable or something:</p>
<p><code></p>
<p>var cacheRequest = request as ICacheable;<br />
if(cacheRequest != null){<br />
return cacheRequest.HandleCaching(); //Or something<br />
}</p>
<p></code></p>
<p>Anyway, just a thought.  I am really enjoying your posts on your Agatha project!!  Excellent work and keep it up!! <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Brion</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23208</link>
		<dc:creator>Davy Brion</dc:creator>
		<pubDate>Mon, 14 Dec 2009 10:38:04 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23208</guid>
		<description>@Kilfour

ah, thanks for the timer tip ;)

as for the testability of the timer... i suspect a timer wrapper will make its way into the codebase soon enough ;)

and about overriding Equals and GetHashCode, it should indeed be checked at configuration time</description>
		<content:encoded><![CDATA[<p>@Kilfour</p>
<p>ah, thanks for the timer tip <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>as for the testability of the timer&#8230; i suspect a timer wrapper will make its way into the codebase soon enough <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>and about overriding Equals and GetHashCode, it should indeed be checked at configuration time</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kilfour</title>
		<link>http://davybrion.com/blog/2009/12/agathas-caching-layer-implementation-first-draft/comment-page-1/#comment-23207</link>
		<dc:creator>kilfour</dc:creator>
		<pubDate>Mon, 14 Dec 2009 10:35:29 +0000</pubDate>
		<guid isPermaLink="false">http://davybrion.com/blog/?p=2049#comment-23207</guid>
		<description>It works, apart from a minor detail : &#039;new Timer(expiration.Milliseconds);&#039; should be &#039;new Timer(expiration.TotalMilliseconds);&#039;. ;-)

The use of the inner Timer makes it really hard to test though.

&#039;your requests which enable response caching must override the Equals and GetHashCode() methods correctly&#039;
This might be a source of hard to track down bugs. Maybe Agatha could verify this at configuration time ?</description>
		<content:encoded><![CDATA[<p>It works, apart from a minor detail : &#8216;new Timer(expiration.Milliseconds);&#8217; should be &#8216;new Timer(expiration.TotalMilliseconds);&#8217;. <img src='http://davybrion.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The use of the inner Timer makes it really hard to test though.</p>
<p>&#8216;your requests which enable response caching must override the Equals and GetHashCode() methods correctly&#8217;<br />
This might be a source of hard to track down bugs. Maybe Agatha could verify this at configuration time ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
