Question

I have installed AppFabric on the server. I have created a cluster of a single computer . I have also create a cache named "Gagan". used the following commands in order

Use-CacheCluster -Provider xml -ConnectionString \NB-GJANJUA\Cache Start-CacheCluster

Result is that the cache service is up and running ..so far so good.

I then setup my web.config file like below

<?xml version="1.0"?>
<configuration>
    <configSections>
    <section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
        Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
        Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>   

</configSections>

<!-- cache client -->
<dataCacheClient>
<!-- cache host(s) -->

<hosts>
  <host
     name="NB-GJANJUA.com"
     cachePort="22233"/>
</hosts>
</dataCacheClient>

<system.web>    

<compilation debug="true" targetFramework="4.0" >
    <assemblies>
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
</compilation>

<sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
  <providers>
    <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
  </providers>
</sessionState>
</system.web>

<system.webServer>
 <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

But as soon as I launch my site , it comes up with this error

Parser Error Message: 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. Ensure that security permission has been granted for this client account on the cluster and that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Retry later.)

Source Error:

Line 44:     <sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
Line 45:       <providers>
Line 46:         <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
Line 47:       </providers>
Line 48:     </sessionState>

Is there something that I am missing ?

Note : I have already referenced the Microsoft.ApplicationServer.Caching.Client and the Microsoft.APplicationServer.Caching.Core assemblies

THanks for your time and patience

With Regards Gagan Janjua

Was it helpful?

Solution

Have you granted access to the cache for whatever user your website is running as?

Grant-CacheAllowedClientAccount Gagan

OTHER TIPS

I was also having this error. Just to test client in development I switched off security by using AppFabric Power Shell command

   Stop-CacheCluster
   Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None
   Start-CacheCluster

Also set following in client application in web.config

   <dataCacheClient>
     <securityProperties mode="None" protectionLevel="None"/>
   </dataCacheClient>

This is not production scenario but the above error disappear when these settings are applied.

I had a similar issue, running IIS 7.5 on Windows Server 2008 R2. I resolved it by issuing the following commands in PowerShell (started from the Windows AppFabric folder in Start, All Programs):

New-Cache -CacheName NameOfCacheAsSetInWebConfig -TimeToLive 30
Grant-CacheAllowedClientAccount "IIS AppPool\NameOfAppPoolRunningSite"

Once I did that, I was all set.

I solved this problem as follows:

Launch Windows Task manager and notice under what User Name your w3wp.exe is running?

In my case it was: ASP.NET v4.0

Launched Start -> All Programs -> Windows Server App Fabric -> IIS manager

In IIS , select Machine name and then Application Pools on top left handside.

In Application Pools..Verify that ASP.net v4.0 exists under Application Pools.

Launched Start -> All Programs -> Windows Server App Fabric -> Caching Administration Windows Power Shell

Type the following command on the prompt: Grant-CacheAllowedClientAccount "ASP.NET v4.0"

restarted the web application and following error went away:

ErrorCode<ERRCA0017>:SubStatus<ES0006>: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. Ensure that security permission has been granted for this client account on the cluster and that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Retry later.)

I had this problem and it was just that the Cache Cluster was down after a reboot. I didn't realize that you have to manually switch the service to start automatically in the services. Detailed information on that is here.

Commenting out the following in the config fixed it for me:

<sessionState customProvider="AppFabricCacheSessionStoreProvider" mode="Custom" timeout="90">
  <providers>
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Session" sharedId="SharedApp" />
  </providers>
</sessionState>

By default the worker processes will be setup as an iis user, those users need access. In your Caching Administration Windows Powershell type the following

Grant-CacheAllowedClientAccount IIS_IUSRS

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top