2009-07-31 5 views
5

J'utilise une application console pour appeler les méthodes de service Web et je passe en revue le code en utilisant le débogueur dans vs2008. Parfois j'ai besoin de m'arrêter et de penser à des choses, et de comparer des valeurs. Ne pas parler d'heures, juste quelques minutes, à ce stade, le service Web expire, comment puis-je éviter cela, de sorte que le service Web ne s'arrête pas du tout.Comment puis-je éviter les erreurs de dépassement de délai lors du débogage d'un service Web dans Visual Studio 2008

Merci

Répondre

8

Ok, maintenant une réponse sérieuse, à l'adresse:

http://bytes.com/groups/net-web-services/628561-increase-default-webservice-timeout-globally

  1. Augmenter la propriété Timeout du-proxy service web.

    MyWebServ obj = new MyWebServ(); 
    obj.Timeout = -1; // -1 for forever otherwise in milliseconds 
    
  2. Augmentez la valeur de délai d'attente dans la balise http-exécution en configuration web d'ASP.NET project./app.config si l'application Web est consommateur de Windows.

  3. Augmentez la valeur du délai d'attente dans la balise http-runtime dans le fichier web-config du projet Web Services .

5

Vous pouvez activer le délai d'attente au large en arrêtant le pool d'applications du recyclage:

Dans la console IIS, allez aux propriétés du pool d'applications et définissez « Ping activé » false

(espoir cela aide! - est ma première réponse ici)

+1

Il semble que je ne puisse pas mettre un commentaire ailleurs, donc je vais commenter ici. Cette solution ne sera-t-elle finalement pas meilleure car elle n'implique aucun changement de code (ou modification de fichier de configuration), donc lorsque vous la déployez dans un environnement en direct, vous ne risquez pas de laisser le délai d'expiration illimité dans votre application? – Paul

+0

J'ai des années de retard au jeu, mais je regarde la même nuisance que l'OP.Je vais juste poster ce commentaire pour quelqu'un d'autre qui me suit. Je ne suis pas (et je crois qu'il ne l'était pas) intéressé par le timeout/recyclage du ApplicationPool. C'est une exception reçue en réponse à une seule requête qui expire parce que j'ai défini un point d'arrêt du côté du service Web. Le délai d'expiration par défaut est de 30 secondes, après quoi il est trop tard pour reprendre le débogage de ma requête en raison de l'exception WebException (timeout) lancée dans le proxy client. – JMD

0

J'ai eu le same Problem et dans mon cas les solutions mentionnées ici n'ont pas vraiment aidé.

Après longtemps de la recherche que j'ai trouvé la solution ailleurs, je devais désactiver le processus de travail pinger pour un pool d'applications par commande suivante:

appcmd set apppool /apppool.name: string /processModel.pingingEnabled: false 

alternativly vous pouvez le configurer dans l'interface utilisateur par:

  1. Ouvrez Gestionnaire des services Internet

  2. Dans le volet Connexions, développez le nœud du serveur, puis cliquez sur Pools d'applications.

  3. Sur la page Pools d'applications, sélectionnez le pool d'applications, puis cliquez sur Paramètres avancés dans le volet Actions. Pour la propriété Pinging Enabled, sélectionnez False pour désactiver la commande ping, puis cliquez sur OK.

Questions connexes