Question

J'obtiens une erreur avec le AppFabric Cache Server lorsque je suppose un plus grand graphe d'objet est ajouté au cache.

ErrorCode: SUBSTATUS: La connexion a été interrompue, peut-être en raison de serveur ou des problèmes de réseau ou sérialisé la taille de l'objet est supérieure à MaxBufferSize sur le serveur. Résultat de la demande est inconnue.

Je sais que ce ne est pas un problème de réseau. Je suis en mesure d'ajouter un tas d'objets à mettre en cache avant celui-ci en particulier. Et en regardant en elle, l'objet est un peu plus grand que les autres qui se est ajouté au cache.

Comment puis-je régler la MaxBufferSize sur AppFabric Cache?

Était-ce utile?

La solution

Côté client, il est MaxBufferSize sur l'élément de transport dans votre section de configuration DataCacheClient.

   <transportProperties  ..whatever else you have..  maxBufferSize="8388608"  />

Edit:

Exemple de la section de DataCacheClient MSDN

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>
<!-- required to read the <dataCacheClient> element -->
<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>

<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
  <localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
  <clientNotification pollInterval="300" maxQueueLength="10000"/>
  <hosts>
     <host name="CacheServer1" cachePort="22233"/>
     <host name="CacheServer2" cachePort="22233"/>
  </hosts>
  <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
  <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" 
                       maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" 
                       receiveTimeout="600000"/>
  </dataCacheClient>
 </configuration>

Autres conseils

Vous devez augmenter la taille de la mémoire tampon du côté du serveur ainsi:

Si vous utilisez config XML ajouter ce qui suit:

<advancedProperties>      
    <transportProperties maxBufferSize="8388608" />
</advancedProperties> 

Si vous utilisez la configuration SQL, vous devez exporter vers un fichier:

Export-CacheClusterConfig -File [yourfilepath] 

Modifier le fichier comme indiqué ci-dessus et que l'importer à nouveau:

Stop-CacheCluster 
Import-CacheClusterConfig -File [yourfilepath]
Start-CacheCluster

Néanmoins, il est recommandé de ne pas stocker de gros fichiers dans le cache AppFabric.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top