2009-09-04 6 views
0

J'utilise Visual Studio 2005 sur un ordinateur Windows XP SP3 et j'ai récemment rencontré un problème étrange.ASP .NET Serveur de développement ne sert pas tout le temps tout le temps

J'ai un projet C# et ASP.NET qui s'exécute correctement sur le serveur de test d'équipe et en utilisant IIS localement sur ma propre machine. Cependant, en l'exécutant à l'aide du serveur de développement Visual Studio ASP.NET intégré, il ne semble pas servir tous les fichiers images/scripts/css tout le temps. Quand je charge une page une fois les images A, B et C seront manquantes et je peux obtenir une erreur de système (sous-paquet) mais en la rechargeant toutes ces images seront là et le sous-paquet fonctionnera mais un CSS, un script ou tout autre fichier image peut être manquant.

Le journal d'application d'événement Windows semble montrer occasionnellement que les fichiers manquants seront enregistrés, mais ce n'est pas cohérent non plus.

Répondre

3

Ça m'arrive tout le temps; Je pense que la raison en est que le serveur ASP.NET Develoment n'est pas un très bon serveur HTTP, et lorsqu'il reçoit trop de requêtes, il en supprime certaines. Comme il est également très très lent, j'ai configuré vs2008 (vous pouvez le faire avec vs2005, bien sûr) pour utiliser ASP.NET pour le débogage; cela fonctionne beaucoup mieux de cette façon.

Pour cela:

Projet -> propriétés -> Web (dernier onglet) -> Serveur. Il existe trois alternatives: Utiliser Visual Studio Development Server; Utiliser le Web IIS local; Utilisez un serveur Web personnalisé. Choisissez la seconde. (pas sûr des noms anglais exact: j'ai la version italienne de VS).

+0

Vous voulez dire IIS pour le débogage? Bien sûr, le serveur de développement local est faible. – StingyJack

+0

Comment voulez-vous dire? L'exécution sur IIS local signifie que si je change/ajoute des parties C#, je ne peux plus le déboguer (au moment de l'exécution) car il n'est évidemment pas connecté à Visual Studio. – tgandrews

+0

Vous serez en mesure de déboguer (points d'arrêt, exécuter étape par étape et ainsi de suite); J'ai édité pour expliquer comment le faire. – giorgian

1

Vérifiez la page dans Firefox/Firebug ou avec IE8 et voyez si les chemins vers les fichiers/scripts/images sont corrects ou non. Un problème courant lors de la commutation entre le serveur Web de développement local et les pages hébergées IIS est que les chemins d'accès peuvent ne pas résoudre le même problème. Vous pouvez parfois résoudre ce problème en utilisant le caractère "~" avant un chemin dans le code ASP.

+0

Il s'agit exactement du même code de projet et de tout ce qui fait que les images sont toutes là au bon endroit et que les chemins sont corrects, cela ne semble pas les charger pour une raison quelconque. – tgandrews

+0

Ils peuvent être dans les mêmes emplacements dans le projet, mais les serveurs Web les servent différemment. IIS à partir d'un dev virtuel local de root. Cela provoque des problèmes avec le cheminement quelques fois. – StingyJack

Questions connexes