I have a WCF service. The WCF services expose a set of methods that talks directly to a CRM. Most of the data I am getting from these services are lookups data and I am getting them frequently. This would degrade performance, as a single form in my website contains several lookups fetched from CRM.
To solve this, I have thought of:
*Create a windows service that will grab all the data and save in a local database. The service will be run after specific time to ensure that all data are in sync.
*Cache data. For each call made to a method to retrieve a cretin type of lookup, the data will be cached such that any similar call will return the cached data.
My questions are:
1-Are there any better ways than this?
2-If no, which is better?