Les classes .net relatives au thread DbProviderFactory sont-elles sécurisées?DbProviderFactory, DbConnection, DbCommand et DbDataAdapter sont-ils thread-safe?
Répondre
Quand vous dites « Ces cas sont générés une fois au moment de l'exécution, et utilisé pour le reste de la vie du service », voulez-vous dire l'objet de connexion? Aussi, voulez-vous dire que vous gardez l'objet de connexion ouvert tout au long de la vie de votre service? Si votre service est multi-thread et vous avez seulement une instance de la connexion (disons par exemple un singleton ou une classe statique), vous devez vous assurer que la connexion est utilisé par un fil à la fois.
Si vous ne voyez pas beaucoup de code, cela ressemble à un problème avec la façon dont vous traitez l'IDbConnection que vous obtenez de l'usine, au lieu de l'usine elle-même.
Nous utilisons DbProviderFactory très fortement pour nos applications multithread, qui se connectent à Oracle, FoxPro et SqlServer et je n'ai pas vu ce problème.
Bonne chance!
Ricardo.
de msdn: Sécurité des threads
Tous les membres static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres d'instance ne sont pas garantis être thread safe.
- 1. C# DbCommand dans une boucle
- 2. Java: threadsocket.accept threadsafe?
- 3. python threadsafe object cache
- 4. Servlet java Threadsafe
- 5. C# treeview opérations threadsafe
- 6. Connexion à DB2 via .NET DbConnection
- 7. Conversion de l'objet DbCommand en objet OracleCommand
- 8. mon code de lecture Erreur de fichier Excel
- 9. .Net DbDataAdapter a tort clé primaire rempli datatable et je veux corriger ce
- 10. Java simultané: Rendre l'accès webservice threadsafe
- 11. Est-ce que cette classe est threadsafe?
- 12. Comment passer le paramètre MySQL null sur DbCommand Enterprise Library
- 13. Importation à partir d'Excel - les valeurs non numériques sont ignorées
- 14. Comment redimensionner les colonnes ListView d'une manière threadsafe - C#
- 15. Threadsafe façon d'ajouter et supprimer des éléments de la liste. NET
- 16. Joindre deux fichiers Excel et afficher dans un GridView
- 17. Dictionnaire ThreadSafe ... Paires de valeurs clés Enumerable? (.net)
- 18. Les extensions Python sont-elles produites par Cython/Pyrex threadsafe?
- 19. Problème avec dbConnection, lecture dans context-params à partir de web.xml
- 20. Puis-je utiliser une bibliothèque non threadsafe dans une application Web .NET multi-utilisateur?
- 21. C# Utilisation du contrôle PropertyGrid pour modifier les propriétés du contrôle "ThreadSafe"
- 22. WPF MVVM ThreadSafe façon d'obtenir la liste <Object> de ViewModel
- 23. C# - Une classe pour la connexion de base de données générique, commande, lecteur
- 24. SQL mettant deux guillemets simples autour des champs datetime et ne parvient pas à insérer l'enregistrement
- 25. Comment exécuter SQL avec des commentaires et des instructions GO en utilisant SqlConnection?
- 26. Puis-je utiliser des génériques pour remplir la liste (de t) avec des classes personnalisées?
- 27. Subsonic 3 dépôt simple et les transactions
- 28. Fermeture d'une connexion
- 29. Fonction SQL CLR et autorisations OLEDb
- 30. L'utilisation du pilote OLEDB/Microsoft Jet provoque «Nombre stocké en tant que texte» dans le fichier Excel
Non, je ne parle pas de l'objet de connexion. Je veux dire l'objet réel DbProviderFactory, créé en appelant DbProviderFactories.GetFactory(). Ainsi, l'usine est créée une seule fois et utilisée à partir de ce moment pour créer des connexions, des commandes, des adaptateurs et des paramètres. –