2011-03-04 2 views
0

J'ai un projet que nous envisageons d'optimiser certaines parties du programme. Il s'agit essentiellement d'une structure hiérarchique à trois niveaux et, ci-dessous, nous allons structurer approximativement.Un moyen efficace pour SQL

UI - ASPX et aspx.cs

commerciaux LOGIC- Web Services

données Access- une catégorie distincte résidant projet de service Web. La pratique maintenant est que lorsque nous récupérons des données, nous récupérons en termes d'ensemble de données du service Web et le renvoyons à l'interface utilisateur pour traiter l'affichage des données. Pour apporter des modifications à la base de données, l'ensemble de données modifié est renvoyé au service Web. Pour un petit nombre de résultats, cela ne poserait pas beaucoup de problème, mais lorsque le résultat est énorme, le service Web transmettra également un plus grand nombre de xml, ce qui diminuera considérablement les performances.

Alors est-ce que quelqu'un utilise ce type de structure et a une meilleure façon de traiter les résultats de la base de données? En ce moment, cette pratique est utilisée dans tous les CRUD, donc l'idée qui m'est venue est de créer et supprimer, ou même de mettre à jour, nous pouvons passer le jeu de données, et utiliser une commande linéaire, mais je ne suis pas sûr une bonne méthode

Répondre

3

Si par jeu de données vous voulez dire DataSet alors c'est quelque chose qui ne devrait jamais être transmis à et d'un service Web. Je vous recommande d'utiliser des classes POCO lors de la communication avec le service. Un DataSet effectue déjà la sérialisation/désérialisation XML en interne et lorsque vous l'envoyez à un service Web, cette sérialisation/désérialisation se produit deux fois. Une autre astuce consiste à ne pas renvoyer l'intégralité de l'ensemble de données au service Web, mais uniquement ce qui a changé entre les appels pour réduire le trafic réseau.

+0

Je comprends ce que U voulait dire mais c'était la structure actuelle de ma compagnie, ils ont aussi l'intention de changer, donc demandez-moi de regarder à travers et de donner des suggestions. POCO sera-t-il capable de bien fonctionner avec le service web? Je trouve toujours des informations sur POCO –

+0

Je considère également la deuxième option, mais j'ai besoin d'explorer la 2ème option pour voir si je peux facilement manipuler les 2 jeux de données différents et les fusionner ensemble. Honnêtement, je travaille principalement avec le datareader, mais il faut que je revienne à l'ensemble de données –

0

Règle générale: Dans les applications Web, vous ne devez échanger que les données entre le client et le serveur nécessaires. Je veux dire tout le filtrage, etc devrait être fait côté serveur. Voici quelques idées: Utilisez la pagination, évitez les jeux de données, ne demandez que ces informations à votre WS que vous avez l'intention de montrer!

+0

Yup, je le sais, mais la structure précédente n'a pas été créée par moi, ils utilisent un jeu de données pour le rendre plus facile à développer besoin de passer cet objet ensemble de données et appelez mise à jour après les changements. Ce dont j'ai besoin est quelque chose comme exemple de travail qui me permettra de faire du CRUD à travers le webservice sans beaucoup de frais généraux –

Questions connexes