Frage

Ich habe AppFabric auf dem Server installiert. Ich habe eine Gruppe von einem einzelnen Computer erstellt. Ich habe schaffen auch einen Cache namens „Gagan“. die folgenden Befehle verwendet, um

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

Das Ergebnis ist, dass der Cache-Service ist und ..so weit so gut läuft.

ich dann meine Setup Datei web.config wie unter

<?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>

Aber sobald ich meine Website zu starten, kommt es mit diesem Fehler auf

Parser-Fehlermeldung: Error-Code: Substatus: Es gibt eine vorübergehende Störung. Bitte versuchen Sie es später. (Ein oder mehr angegebenen Cache-Server nicht verfügbar ist, die durch stark ausgelastetes Netzwerk oder Server verursacht werden könnte. Stellen Sie sicher, dass die Sicherheit Erlaubnis für dieses Client-Konto auf dem Cluster und der AppFabric Caching-Dienst wird durch den Firewall auf allen Cache-Hosts erlaubt erteilt. Die Operation später wiederholen.)

Quellfehler:

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>

Gibt es etwas, dass ich fehle?

Hinweis: Ich habe bereits verweist die Microsoft.ApplicationServer.Caching.Client und die Microsoft.APplicationServer.Caching.Core Baugruppen

Vielen Dank für Ihre Zeit und Geduld

Mit freundlichen Grüßen Gagan Janjua

War es hilfreich?

Lösung

Haben Sie den Zugriff auf den Cache gewährt für was auch immer Benutzer Ihrer Webseite ausgeführt wird?

Grants-CacheAllowedClientAccount Gagan

Andere Tipps

Ich habe auch diesen Fehler. Nur um Test-Client in der Entwicklung wechselte ich aus Sicherheit durch Verwendung AppFabric Power Shell-Befehl

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

Stellen Sie auch folgende in Client-Anwendung in web.config

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

Dies ist nicht die Produktion Szenario aber der obige Fehler verschwinden, wenn diese Einstellungen angewandt werden.

Ich hatte ein ähnliches Problem, mit IIS 7.5 unter Windows Server 2008 R2. Ich beschloss, es mit den folgenden Befehlen in Powershell-Ausgabe (aus den Windows AppFabric Ordnern im Start gestartet, Alle Programme):

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

Nachdem ich das getan habe, war ich ganz eingestellt.

Ich löste dieses Problem wie folgt:

Starten Sie den Windows Task-Manager und Hinweise unter welchen Benutzername Ihre w3wp.exe läuft?

In meinem Fall war es: ASP.NET v4.0

Gestartet Start -> Alle Programme -> Windows Server App Fabric -> IIS-Manager

In IIS, wählen Sie Computername und dann auf Anwendungspools auf linker Seite.

In Anwendung Pools..Verify dass ASP.net v4.0 existiert unter Anwendungspools.

Gestartet Start -> Alle Programme -> Windows Server App Fabric -> Caching-Administration von Windows Power Shell

Geben Sie den folgenden Befehl an der Eingabeaufforderung: Erteilen-CacheAllowedClientAccount "ASP.NET v4.0"

Neustart der Web-Anwendung und folgende Fehler wegging:

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.)

Ich hatte dieses Problem und es war nur, dass der Cache-Cluster war nach einem Neustart nach unten. Ich wusste nicht, dass Sie müssen den Dienst manuell schalten automatisch in die Dienste zu starten. Detaillierte Informationen über das href="https://stackoverflow.com/questions/2874786/starting-appfabric-cache-cluster-automatically">.

kommentiert die folgende in der Config-out regelte es für mich:

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

Standardmäßig werden die Arbeitsprozesse eingerichtet werden, wird als ein Benutzer iis, müssen die Benutzer den Zugriff. In der Caching-Administration von Windows Powershell Geben Sie den folgenden

Grants-CacheAllowedClientAccount IIS_IUSRS

scroll top