2012-01-10 4 views
0

J'ai commencé à développer une application full-web en utilisant le framework ASP .NET MVC 3. Je suis un développeur débutant MVC 3.ASP.NET Application_Start Event + Connexion à un DB

Sur le côté serveur, je vais exécuter des requêtes sur une base de données. Par conséquent, je devrai établir une connexion avec la base de données.

Je voudrais savoir s'il est préférable d'établir une connexion au début de chaque méthode d'action ou dans un gestionnaire d'événements. J'ai pensé à établir la connexion dans le gestionnaire d'événements Application_Start, puis à stocker un objet représentant ma connexion dans l'état de l'application. Est-ce que cette manière présente des inconvénients?

Merci d'avance pour votre future réponse

+0

Cela ne fonctionnera pas: une connexion à une base de données n'est pas sécurisée pour les threads. – Joe

Répondre

1

Ouvrir et fermer la connexion au besoin (plutôt que de garder un ouvert). Laisser la mise en commun des connexions fonctionner pour vous.

10 Tips for Writing High-Performance Web Applications (ASP.NET, mais contient des conseils pertinents):

Conseil Pooling 3 Connexion

Configuration de la connexion TCP entre votre application Web et SQL Server ™ peut être un coûteux opération. Développeurs chez Microsoft ont été en mesure de profiter de la mise en commun de la connexion depuis un certain temps maintenant, leur permettant de réutiliser les connexions à la base de données. Plutôt que en configurant une nouvelle connexion TCP sur chaque requête, une nouvelle connexion est configurée uniquement lorsque celle-ci n'est pas disponible dans le pool de connexions. Lorsque la connexion est fermée, elle est renvoyée au pool où elle reste connectée à la base de données, au lieu de supprimer complètement cette connexion TCP .