Dans le développement d'un service Web relativement simple, qui prend les données fournies par un poste et il enregistre dans une table de base de données, nous obtenons cette erreur:Manquer de connexions DB en utilisant LINQ to SQL
Exception pris: Le serveur distant a renvoyé une erreur: (500) Internal Server Er ou. Stack trace: à System.Net.HttpWebRequest.GetResponse()
sur certains serveurs, mais pas d'autres. Ceux qui obtiennent ceci sont les machines physiques, les autres sont virtuels, et évidemment les serveurs physiques sont beaucoup plus puissants. Pour autant que nous le sachions, le problème est que les connexions DB ne sont pas relâchées dans les pools après chaque requête. J'utilise le motif à l'aide ci-dessous:
using (VoteDaoDataContext dao = new VoteDaoDataContext())
{
dao.insert_response_and_update_count(answerVal, swid, agent, geo, DateTime.Now, ip);
dao.SubmitChanges();
msg += "Thank you for your vote.";
dao.Dispose();
}
J'ai ajouté le dao.Dispose() pour faire en sorte que les connexions sont libérées lorsque la méthode se termine, mais je ne sais pas si oui ou non il est nécessaire.
Est-ce que j'utilise correctement ce modèle? Y a-t-il autre chose que je dois faire pour que les connexions soient renvoyées dans les pools correctement?
Merci!
L'élimination n'est pas nécessaire à l'intérieur du bloc d'utilisation. Qu'est-ce qui vous fait penser que vous êtes à court de connexions? – TGnat