Je développe une application asp.net que j’ai hébergée sur un serveur IIS. Pour ouvrir une connexion j’utilise:
SqlConnection con = new SqlConnection("Server = INLD50045747A\\SQLEXPRESS; Database = MyDatabase;User ID = sa; Password = Welcome1; Trusted_Connection = False;"); con.Open();
Est-il possible de stocker cette chaîne de connexion quelque part afin que je n’ai pas besoin d’écrire dans tous les fichiers aspx.cs? J’utilise la firebase database MSSQL.
Je suis confronté à un problème qui dit:
Le délai d’attente s’est écoulé avant l’obtention d’une connexion du pool. Cela est peut-être dû au fait que toutes les connexions en pool étaient utilisées et que la taille maximale du pool a été atteinte.
- Contrôleurs asynchrones (MVC), processus long avec «arrêts»
- Où se trouve l’API de journalisation ASP.NET Core en tant que journaux de magasin par défaut?
- Que dois-je savoir et prendre en compte pour créer un site Web multilingue
- Verrouiller le site d’administration de l’application ASP.NET MVC sur LocalHost uniquement
- Obtenir l’autorisation de Authorize Atsortingbute?
J’ai lu quelque part qui me demande d’augmenter le pool de connexion maximal à 100. Cela affectera-t-il les performances de mon application?
Vous ne fermez probablement pas correctement vos relations ouvertes.
Augmenter la “taille de la piscine” revient à placer un plus grand seau sous une cascade – cela aidera, mais à peine.
Essayez de localiser les endroits où cela se produit:
con.Open();
Assurez-vous que si ce n’est pas dans un essai / attrape, qu’il en est un et qu’il inclut une déclaration finally.
try { con.Open(); //several other data base releated //activities } catch (Exception ex) { // do something } finally { con.Close(); }
De plus, pour éviter de devoir utiliser le bloc finally
, vous pouvez simplement envelopper SqlConnection dans une instruction using.
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionSsortingngs["yourKey"].ConnectionSsortingng)) { // write your code here }
En ce qui concerne votre question sur la chaîne de connexion, oui enregistrez-la dans votre web.config
Stockez-le dans le fichier web.config
, dans la section connectionSsortingngs
:
Et ensuite vous pourrez y accéder dans votre code …
ConfigurationManager.ConnectionSsortingngs["name"].ConnectionSsortingng
vous pouvez aussi utiliser
il disposera automatiquement l’object
si vous utilisez “utiliser”, il n’est pas nécessaire de fermer.
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionSsortingngs["yourKey"].ConnectionSsortingng)) { // write your code here }
Stockez la chaîne de connexion dans les fichiers web.config. vous pouvez trouver de nombreux exemples. Cochez cette case pour les propriétés. http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionssortingng%28v=vs.71%29.aspx
Merci Shankar
Utilisez l’aide des deux
try { con.Open(); } catch(Exception ex) { if(con.State== ConnectionState.Open) con.Close(); } finally { con.Close(); }
et ajoutez également la chaîne de connexion dans Web.Config, sous Configuration. Cela vous aidera.
Oui, stockez-le dans le fichier web.config mais assurez-vous qu’en cas d’erreur, il n’affiche pas le contenu du fichier web.config à l’utilisateur (ce qui indique votre mot de passe au monde entier.)
Si vous utilisez la même chaîne de connexion dans de nombreuses applications, vous pouvez envisager d’écrire un service pour fournir les chaînes de connexion. De cette manière, il vous suffit de les modifier à un seul endroit.
La meilleure option consiste à utiliser les parameters saisis.
Ouvrez les propriétés de votre projet.
Allez dans l’onglet Paramètres.
Ajoutez un nouveau paramètre, par exemple MainConnectionSsortingng
, sélectionnez le type de paramètre (ConnectionSsortingng)
. Dans la valeur, insérez votre chaîne de connexion ou cliquez sur le bouton ‘…’ pour ouvrir une boîte de dialog permettant de créer une chaîne de connexion.
Maintenant, vous pouvez référencer votre chaîne de connexion dans le code comme ceci:
Settings.Default.MainConnectionSsortingng
Si vous ouvrez votre fichier de configuration, vous verrez
Vous pouvez avoir cette chaîne de connexion spécifiée:
Cela peut être pratique si vous avez beaucoup d’applications qui se connectent à la même firebase database et sont installées sur un seul boîtier. Si l’emplacement de la firebase database change, vous ne mettez à jour qu’un fichier machine.config, au lieu d’aller au fichier de configuration de chaque application.