public void UpdateIISSitesFromTableStorage()
{
var allSites = _sitesRepository.RetrieveWebSitesWithBindings();
if (!AzureRoleEnvironment.IsComputeEmulatorEnvironment())
_iisManager.UpdateSites(allSites, _sitesToExclude.ToList());
// Cleanup
for (var i = _siteDeployTimes.Count - 1; i >= 0; i--)
{
var siteName = _siteDeployTimes.ElementAt(i).Key;
if (!allSites.Any(s => s.Name.Equals(siteName, StringComparison.OrdinalIgnoreCase)))
{
_siteDeployTimes.Remove(siteName);
_syncStatusRepository.RemoveWebSiteStatus(siteName);
var sitePath = Path.Combine(_localSitesPath, siteName);
var tempSitePath = Path.Combine(_localTempPath, siteName);
FilesHelper.RemoveFolder(sitePath, _logger);
FilesHelper.RemoveFolder(tempSitePath, _logger);
if (_entries.ContainsKey(siteName))
{
// Remove blob
_container.GetBlobReference(siteName).DeleteIfExists();
_container.GetBlobReference(siteName + "/" + siteName + ".zip").DeleteIfExists();
_entries.Remove(siteName);
}
OnSiteDeleted(siteName);
}
}
}