I feel like the past couple of months of my life could be summarized as that time I got all of those Windows Azure related errors. I suppose that's the price you pay for living on the edge of technology.
Here's the newest Windows Azure error of the day:
Unhandled Exception: ErrorCode
:SubStatus :There is a temporary failure. Please retry later. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. For on-premises cache clusters, also verify the following conditions. Ensure that security permission has been granted for this client account, and check that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the serialized object size sent from the client.)
at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody) at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCacheProperties(RequestBody request, SimpleSendReceiveModule sendRcvModule) at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(String cacheName) at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetDefaultCache() at Infrastructure.Caching.AzureCacheProvider.GetCache()
It turns out that the culprit was the configuration transformations for my Azure deployment. When I was transforming configuration settings between my
Web.config and my
Web.Dev.config I incorrectly implemented my
I confirmed this by first removing all of the content out of my
Web.Dev.config and making sure my
Web.config contained all of the correct caching information for my development Windows Azure subscription. After my next deploy, my Azure Caching was working as expected.
Once I realized that my config transformations were to blame, I narrowed the issue down to the
If you are experiencing this error, I'd recommend double-checking (or better yet, temporarily deleting) your config transforms to make sure this isn't the issue.
Unfortunately, Google offers precious little advice into this error and to make matters worse, it is a very generic and hard to decipher exception. Luckily for me, I caught this pretty early and there wasn't too many commits to backtrack through before I found the issue.
If you find yourself struggling with this and my fix doesn't work for you, I'd check out this article on MSDN that talks about how to get to the inner exception, which will help you troubleshoot further.