title: Trouble getting Caching working inside Azure Web Sites
body: <p>I'm trying to get Caching working on my Windows Azure Website. The caching is configured on one of my Worker Roles.</p>
  
  <p>I used this article to get started: <a href="http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/" rel="nofollow">http://www.windowsazure.com/en-us/develop/net/how-to-guides/cache/</a></p>
  
  <p>Initially I've had trouble to get the Azure Cache Client dll working because of missing assembly errors.</p>
  
  <pre><code>Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
  Could not load file or assembly 'msshrtmi, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
  </code></pre>
  
  <p>Though I've been helped by this article to resolve this: <a href="http://www.thedailyparker.com/PermaLink,guid,0be6425e-b509-4122-af01-7086ce2f811e.aspx" rel="nofollow">http://www.thedailyparker.com/PermaLink,guid,0be6425e-b509-4122-af01-7086ce2f811e.aspx</a></p>
  
  <p>But next I'm getting a SEHException which sounds like a configuration problem. Though I've no idea what I'm missing.
  Exception Details:</p>
  
  <pre><code>[SEHException (0x80004005): External component has thrown an exception.]
     RdGetApplicationConfigurationSetting(UInt16* , UInt16** ) +0
     RoleEnvironmentGetConfigurationSettingValueW(UInt16* pszName, UInt16* pszDest, UInt32 cchDest, UInt32* pcchRequiredDestSize) +47
     Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetConfigurationSetting(String name, String&amp; ret) +91
     Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetConfigurationSettingValue(String configurationSettingName) +54
     Microsoft.ApplicationServer.Caching.AzureCommon.TopologyHelper.TryGetServiceConfigurationSetting(String value, String&amp; result) +40
     Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsUtility.GetDiagnosticLevel(String propertyName) +47
     Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsUtility.GetClientLogLevel() +20
     Microsoft.ApplicationServer.Caching.AzureClientHelper.RoleUtility.ReadClientLogLevel() +5
  [TargetInvocationException: Exception has been thrown by the target of an invocation.]
     System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
     System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +192
     System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +108
     Microsoft.ApplicationServer.Caching.DataCacheFactoryConfiguration.Initialize(String clientName) +205
     Microsoft.Web.DistributedCache.DataCacheFactoryWrapper.CreateDataCacheFactoryConfiguration(String dataCacheClientName) +77
     Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.CreateInternalProvider(IHttpRuntime httpRuntime, OutputCacheInitializationData initData, IDataCacheFactory dataCacheFactory, EventHandler`1 cacheFetching, EventHandler`1 cacheFetched) +28
     Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.GetInternalProvider() +148
     Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider.Get(String key) +11
     System.Web.Caching.OutputCache.Get(String key) +56
     System.Web.Caching.OutputCacheModule.OnEnter(Object source, EventArgs eventArgs) +9717054
     System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
     System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +69
  </code></pre>
  
  <p>I hope someone can help me in the right direction.</p>