Question

Je suis en train de stocker un objet dans le cache comme:

Dictionary<Guid, Decimal> cacheSubscribers = 
          client.Get<Dictionary<Guid, Decimal>>("ListAllSubscribers");

if (cacheSubscribers == null)
{
  cacheSubscribers = db.JK_Subscribers
                       .Where(x => x.sync)
                       .Select(x => new { x.guid, x.subscriber_id })
                       .ToDictionary(x => x.guid, x => x.subscriber_id);

  if (!client.Store(StoreMode.Set, "ListAllSubscribers", cacheSubscribers, ts))
     MessageBox.Show("Could not store ListAllSubscribers");
}

Et je reçois toujours client.Store d'être false, et il ne correspond pas au serveur.

quelques lignes ci-dessous cette déclaration, j'ai aussi:

IEnumerable<JK_ChallengeAnswers> challengeAnswers = client.Get<IEnumerable<JK_ChallengeAnswers>>("ListAllChallengeAnswers");
if (challengeAnswers == null)
{
    challengeAnswers = db.JK_ChallengeAnswers.Include("JK_Challenges").ToList();
    client.Store(StoreMode.Set, "ListAllChallengeAnswers", challengeAnswers, ts);
}

et cette toujours ajouter dans la mémoire ...

Y at-il un moyen d'obtenir la raison pour laquelle je ne peux pas stocker l'objet?

Dictionary a autour de 95.000 records et dans la configuration que j'ai

<socketPool minPoolSize="10" 
            maxPoolSize="100" 
            connectionTimeout="00:01:00" 
            deadTimeout="00:02:00" />

P.S. J'utilise Couchbase sur localhost

Était-ce utile?

La solution

Je ne suis pas sûr parce que le code est familiar..so je demande: Vous essayez de stocker le dictionnaire qui est faite de 95000 dossiers? Membase est très similaire à memcached, donc je suggère de vérifier s'il y a une limite à la taille de l'objet, vous pouvez store..as Je sais memcached 1Mo

Autres conseils

Vous pouvez utiliser la méthode [ExecuteStore][1], qui retourne un objet au lieu d'un IStoreOperationResult bool, où vous pouvez trouver un message, exceptions, etc. ..
Il ne permet pas toujours, mais il vaut la peine d'essayer.

EDIT:. Utilisez Couchbase Library .NET client 1.1 pour que

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