2010-04-14 3 views
0

Je suis un propgrammer .NET. Récemment, j'ai écrit une application client-serveur qui utilise System.Net.Sockets pour se connecter et utilise .NET Remoting pour les communications. Lorsque le nombre de clients a augmenté (jusqu'à 100), l'application du serveur s'est parfois figée et, après plusieurs minutes, elle est revenue à la normale. J'utilise SQL 2005 avec pooling et timeout.Deadlocks dans l'application client-serveur

Répondre

1

Vérifiez si vous disposez de tout ce qui est IDisposable dans vos connexions de données, par exemple. Ainsi, par exemple, si vous utilisez une classe SqlConnection, vous pouvez écrire le code comme ceci:

using (var connection = new SqlConnection(...)) 
{ 
    // code to do something with the connection 
} 

Cela permettrait d'assurer que la connexion .NET est fermée, libérant la connexion physique SQL Server à la piscine. Si vous ne le faites pas, le pool sera à court de connexions disponibles jusqu'à ce que certaines d'entre elles commencent à expirer et se ferment automatiquement.

+0

merci pouvez-vous expliquer plus s'il vous plaît! – fakhrad

+0

Avez-vous édité la réponse –

+0

merci oui! c'est l'un de mes problèmes! – fakhrad

Questions connexes