U4-5492 - Distributed calls won't work if IIS sites between servers have the same HttpRuntime.AppDomainAppId

Created by Shannon Deminick 16 Sep 2014, 00:59:33 Updated by Shannon Deminick 26 Jun 2017, 07:08:47

Relates to: U4-2633

Relates to: U4-5491

In most cases each server's IIS site taking part in a load balanced environment will have a different HttpRuntime.AppDomainAppId. However there are definitely scenarios where this is not the case and therefore a distributed call to a 'slave' server that has the same HttpRuntime.AppDomainAppId as the 'master' server will not have it's cache refreshed.

Work around:

  • Create a new IIS site on the slave server(s), copy all of the details required to run the site over.
  • Delete the existing IIS site on the slave server(s)
  • This should ensure that there is a different HttpRuntime.AppDomainAppId on the slave server to the master server

The fix:

  • Instead of passing in just the HttpRuntime.AppDomainAppId to the cacheRefresher.BeginBulkRefresh, we will pass in a hash of the current machine name and the HttpRuntime.AppDomainAppId, this will ensure that if other server's IIS sites have the same HttpRuntime.AppDomainAppId as the master, it will still work since the machine names will be different. Even if load balancing on the same machine for testing, the HttpRuntime.AppDomainAppId will always be different so this will always work.
  • This will be fixed in 7.2, use the workaround for any previous versions.


Shannon Deminick 16 Sep 2014, 23:23:23

Posts with work arounds:



Stefan Kip 12 Feb 2015, 11:02:07

Ran into this today. Thanks for providing a work-around, but when is v6.2.5 expected?

Shannon Deminick 26 Jun 2017, 07:08:48

Closing issue due to inactivity - see blog post for details https://umbraco.com/blog/issue-tracker-cleanup/

Priority: Normal

Type: Bug

State: Closed

Assignee: Shannon Deminick

Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions: 6.2.2

Due in version:


Story Points: