I am using SharePointPortalControl:AverageRatingFieldControl for rating control on my visual web-part. From the UI, if User updated the rating, it is not updating immediately.To get the updated rating takes 15 to 20 min. Please provide any alternative solution.
The alternative solution, is to write your own rating component, which is not desirable. And can get pretty complicated if it has to support many users and a lot of rating.
Are you sure you can't live with the built in solution. The users own rating is updated immediately, it's shown in the hover text.
The average rating as indicated by the blue stars is updated when two timer jobs have been completed:
- User Profile Service Application - Social Data Maintenance Job
- User Profile Service Application - Social Rating Synchronization Job
The first job calculates the average ratings by aggregating rating data from the social database, and the 2nd job pushes this data to the content database where the content you are rating lives.
So to make the update happen faster you can change the interval of the jobs, but it will never be immediate, due to the architecture of storing the ratings in the social DB (this architecture is chosen for performance reason, is my guess). So beware that running the jobs too often, might put unnecessary load on your SharePoint farm.