Ahmed ilyas
Ahmed ilyas

Reputation: 5822

How to cache in WCF multithreaded

So, in my WCF service, I will be caching some data so future calls made into the service can obtain that data.

what is the best way in WCF to cache data? how does one go about doing this? if it helps, the WCF service is multithreaded (concurrency mode is multiple) and ReleaseServiceInstanceOnTransactionComplete is set to false.

the first call to retrieve this data may not exist therefore it will go and fetch data from some source (could be DB, could be file, could be wherever) but thereafter it should cache it and be made available (ideally with an expiry system for the object)

thoughts?

Upvotes: 0

Views: 681

Answers (2)

Ravian
Ravian

Reputation: 64

An SOA application can’t scale effectively when the data it uses is kept in a storage that is not scalable for frequent transactions. This is where distributed caching really helps. coming back to your question and its answer by ErnieL, here is a brief comparison of these solutions,

as Far as Memcached is concerned, If your application needs to function on a cluster of machines then it is very likely that you will benefit from a distributed cache, however if your application only needs to run on a single machine then you won't gain any benefit from using a distributed cache and will probably be better off using the built-in .Net cache. Accessing a memcached cache requires interprocess / network communication, which will have a small performance penalty over the .Net caches which are in-process. Memcached works as an external process / service, which means that you need to install / run that service in your production environment. Again the .Net caches don't need this step as they are hosted in-process.

if we compare the features of NCache and Appfabric, NCache folks are very confident over the range of features which they ve compared to AppFabric. you can find enough material here regarding the comparison of these two products, like this one......

http://distributedcaching.blog.com/2011/05/26/ncache-features-that-app-fabric-does-not-have/

Upvotes: 1

ErnieL
ErnieL

Reputation: 5801

Some of the most common solutions for a WCF service seem to be:

Try reading Caching Solutions

Upvotes: 1

Related Questions