2010-09-27 5 views
8

Nous (mon équipe) sommes sur le point de commencer le développement d'un projet critique, l'un des sous-systèmes de ce projet est un service Windows. Ce service sera l'épine dorsale de tout le système et devra répondre selon la norme critique de la mission.LINQ est-elle une option valide?

Ce service contiendra de nombreuses listes pour minimiser l'interaction avec la base de données et pour améliorer les performances, j'estime que la taille moyenne d'une liste est de 250,00 dans des circonstances normales.

Est-ce une bonne idée d'utiliser LINQ pour interroger des données à partir de ces files d'attente, ou devrais-je suivre mon plan initial de création de liste indexée?

Liste Indexed est une implémentation personnalisée de Idictionary, qui fonctionnera comme un index et aura de nombreuses fonctionnalités orientées performance comme MRU, reconstruction Index, etc.

Répondre

10

Avant de lancer votre propre solution, vous voudrez peut-être regarder à i4o, un fournisseur LINQ to Objects indexé. Dans le cas contraire, il semble que l'application de votre propre indexation en vaut la peine, mais faites d'abord les tests de performance. "Critique de la mission" concerne souvent la fiabilité plus que la performance - si LINQ to Objects fonctionne assez bien, pourquoi ne pas l'utiliser?

Même si vous faites finissez d'écrire vos propres collections, vous devriez envisager de les rendre "LINQ queryable" d'une façon ou d'une autre (ce qui dépendra de la nature exacte des collections) ... c'est bien de pouvoir écrivez requêtes LINQ, même si ce n'est pas contre vanille LINQ to Objects.

Questions connexes