2017-09-26 4 views
1

Can Cluster, ISession et IMapper instances être statiques dans une application Web, ou nous avons besoin de ceux distincts pour chaque utilisateur? C'est à dire. Est-il correct d'avoir tous ces instanciés (comme statique) au démarrage de l'application et de les utiliser pour tous les utilisateurs? Dans le documentation, il est indiqué qu'une seule instance de ISession doit être utilisée par espace de clé. J'utilise un seul espace de touches, alors est-ce OK, ou cela serait-il problématique? J'utilise DataStax C# Driver.Cassanda session statique?

Répondre

1

En effet, vous avez juste besoin d'une instance de ISession pour l'application, c'est-à-dire un motif singleton. Toutefois, si une charge importante est attendue, veillez à protéger sa création contre les tentatives multiples de l'environnement d'hébergement que vous utilisez, de sorte que, pendant l'établissement d'une session, des tentatives supplémentaires échouent.

+0

Est-ce que IMapper peut être statique aussi? Je demande parce qu'il est lent à le réinitialiser, parce que vous devez également re-spécifier les configurations de cartographie. – user2340939

+0

Mes entités sont assez simples pour ne pas déranger avec les mappeurs, donc je ne les utilise pas. Les documents semblent être claires sur la façon dont on devrait l'utiliser: http://docs.datastax.com/en/developer/csharp-driver/3.3/features/components/mapper/ –

+0

Je vais prendre ça comme un oui :) . – user2340939