LINQ parallèle dans les applications Web?
-
08-07-2019 - |
Question
Je viens de regarder le dernier Chaîne 9 vid sur les extensions parallèles à venir pour .NET. Comment utiliseriez-vous cela dans une application web? Je pense en particulier à utiliser les extensions Linq parallèles contre une base de données SQL. Cela serait-il judicieux d'utiliser comme moyen d'accélérer votre couche d'accès aux données dans une application serveur multi-utilisateurs? Quels sont les problèmes (en dehors des problèmes évidents de sécurité des threads utilisant des types de collecte statiques)?
La solution
Je pense que ce paragraphe extrait de cet article explique l'utilisation de PLINQ-to-SQL:
LINQ-to-SQL et LINQ-to-Entities les requêtes seront toujours exécutées par le bases de données et requête respectives fournisseurs, donc PLINQ n’offre pas de façon de paralléliser ces requêtes. Si vous souhaitez traiter les résultats de ces requêtes en mémoire, y compris rejoindre la sortie de nombreux requêtes hétérogènes, alors PLINQ peut être très utile.
En ce qui concerne l'utilisation de PLINQ dans une application Web, si la demande nécessite de nombreux calculs en mémoire, PLINQ peut être utile (comme si vous aviez plusieurs sources de données à interroger ensemble), je ne vois aucun problème. en l'utilisant.
Autres conseils
Parallèle, LINQ est principalement destiné à lutter contre les collections en mémoire, à mon avis. Comment pensiez-vous l'utiliser avec votre base de données?
Étant donné que les applications Web sont naturellement assez parallèles (en termes de requêtes distinctes s'exécutant sur des threads distincts, etc.), je soupçonne que PLINQ ne s'appliquera pas vraiment beaucoup.