2009-10-05 7 views
1

Lors de l'ouverture d'un site Web dans Visual Studio 2008 avec SQL Express 2008 sous Windows 7 64 bits, l'ouverture est correcte. En fait, plusieurs fichiers s'ouvriraient souvent aussi bien. Mais lors de l'ouverture d'un contrôle particulier, VS serait suspendu. 0% d'utilisation du processeur signalé, mais en regardant le moniteur de ressources a montré qu'il était souvent "en attente sur les E/S réseau"; pas toujours - parfois, il ne signalait aucun problème, mais l'interface ne répondrait jamais indépendamment.Visual Studio 2008 se bloque si la chaîne de connexion n'est pas définie correctement

Process Monitor a montré qu'il semblerait que ce soit quelque chose à voir avec SQL Server. Après avoir exploré plus, nous avons remarqué que le web.config qui était sur la machine de développement avait une chaîne de connexion légèrement incorrecte. Il avait le nom de l'ordinateur, mais pas le nom de l'instance "\ SQLEXPRESS". Donc ça aurait dû être "MACHINENAME \ SQLEXPRESS". (Nous n'avons jamais vraiment débogué ce site localement - longue histoire - donc nous n'avions pas remarqué que ce n'était pas encore correct La chaîne de connexion de production était déjà correcte.) Dès que nous avons entré la bonne chaîne de connexion à notre base de données de développement (et avec un délai d'expiration plus court cette fois), Visual Studio a cessé de se bloquer et de se débattre en essayant de se connecter. Je ne sais pas pourquoi VS n'a pas pu détecter cela, pourquoi il n'a pas renoncé à une erreur, ou même pourquoi il essayait de se connecter du tout - ce contrôle particulier ne faisait pas directement référence à la base de données . Peut-être essayait-il de déréférencer une URL d'image qui, si chargée sur une instance en cours, charge les données d'image directement à partir de la base de données? Mais le serveur Web de Casini n'a pas été lancé de toute façon, nous ne sommes donc pas sûrs de ce qui se passe ici. Quoi qu'il en soit, cela fonctionne maintenant. Mais si quelqu'un a d'autres idées, s'il vous plaît éclairer.

Répondre

1

Il attendait le délai d'expiration. Cela peut durer jusqu'à 600 secondes, en fonction d'un certain nombre de facteurs. Si vous n'avez pas attendu si longtemps, vous n'auriez probablement pas vu un message d'erreur.

+0

Le processus en train d'être suspendu se terminerait et un nouveau apparaîtrait. Donc, quoi que ce soit, il essayait de le faire encore et encore (ou en utilisant le même outil pour faire des choses différentes chaque processus, mais chaque fois en attente du délai d'expiration?) –

Questions connexes