So i've been toying with the idea of using either MS Distributed Caching (Project Velocity) or Memcached to cache images on the server. Basically, i have a windows forms app (or eventually a windows service) which grabs frequently used images from disk, does any necessary graphics processing on them (adding transparencies, etc.) then sends them into the cache. I then have a wcf REST service that, when accessed, first checks the cache for the image and if found, returns the image as a memorystream. If the image is not in cache, then obviously it grabs it from disk and sends it as a memorystream.
Advantages
1. Image locations are encapsulated behind a service. Client code (silverlight) does not need to be updated if the image locations change/move.
2. If a requested image does not exist, a generic "Image not available" image can be returned without crashing a silverlight app.
3. Thumbnails can be generated on the fly in GDI.
4. Caching in memory is fast.
5. Images can be used for RSS feeds.
Disadvantages
1. Pulling from disk into memory through GDI may (probably does) cause overhead.
2......please add comments with more advantages/disadvantages.
This idea may be worthless and pointless and may ultimately slow things down. but i can't stop thinking about it and it would be nice to get some final closure as to whether or not it is worth it. I need to figure out a way to accurately do time-tests. I'll post what i find.
I've had the book for awhile, and began to study about a year ago. I often times find that i should be the poster-child for this shirt... However, I decided to actually begin consistently studying for this exam. I'm sitting on the couch with my laptop and the Selp-Paced Training Kit published by Microsoft. I've also go the Prep Guide from microsoft.com. Wish me luck!