Lets assume Memory Job is set or clean cache, I know AppFabric and I just use cache as example.
I have a ASP.net MVC3 deployment with 4 instances in Azure at this moment.
Each instance has multiple websites, defined by ServiceDefinition.csdef Sites section, 18 of them. It’s foldered as 1 to 17 in sitesroot in .cspkg package.
I want to know, is there any mechanism to loop all Azure Instances, then loop all IIS sites to call a MVC Controller?
The simple answer is no, there is no built in functionality that will iterate through all of your sites on all of your instances.
Presuming you want to do this as you want to tell these sites that there has been a change to some data that is in the cache, the simplest way around this is to have each site poll for updates to your cache, or just expire data out of the cache after a certain period of time.
The more complicated option is to give each site and internal endpoint, then when the site starts up it registers this internal end point with a cache controller service. When some data that can be cached is updated, the cache controller service communicates with all of the endpoints that are registered with it them to refresh their cache.