0
|
1 <% title # Cache aspect %>
|
|
2 <% group # Cache aspect %>
|
|
3 <p class="j">This aspect helps to cache method calls.
|
|
4 The aspect uses input method parameters to create a cache key and
|
|
5 caches return value and all output (both <i>ref</i> and <i>out</i>) parameters.
|
|
6 By default only value types and string type of the method parameters are used
|
|
7 to create a cache key. Any other types are ignored.
|
|
8 This behavior can be changed by assigning the <b>CacheAspect.IsCacheableParameterType</b> property
|
|
9 to a delegate providing custom logic.
|
|
10 </p>
|
|
11
|
|
12 CacheAspect.cs
|
|
13 <% ..\..\..\HowTo\Aspects\CacheAspect.cs %>
|
|
14
|
|
15 If we decompile the actual emitted TestClass class, we may see something like the following:
|
|
16 <% Doc\Aspects\CacheAspect.cs %>
|