IIS abandonne le thread de demande avec le statut 995

10

Nous avons un site où nous avons des problèmes sur notre serveur de production, mais pas sur ma machine de développement avec une requête abandonnée (d'où une réponse nulle).

Il échoue après exactement 1:19 minutes à chaque fois, et la demande sur ma machine de développement prend environ 1:44.

La longueur du contenu est d'environ 650 Ko, cela ne devrait donc pas poser de problème.

L'environnement de production est Windows 2008 avec IIS7 L'environnement de développement est Windows 7 avec IIS 7.5

Ils ont web.config identique mais la configuration de la machine diffère légèrement (bien qu'ils devraient être standard lors de l'installation)

Qu'est-ce qui peut causer cela?

Lorsque vous regardez dans le journal d'accès, la ligne indique 0 octet en réponse par le code win32 995 qui devrait être 0, ce sont les dernières colonnes de la ligne d'accès:

sc-status sc-substatus sc-win32-status sc-bytes time-taken
200       0            995             0        76933

995 semble être lié à «thread abandonné» ou quelque chose, par conséquent, je suis un peu confiant que c'est IIS qui abandonne la demande. le processus w3wp.exe semble s'exécuter pendant un certain temps même après l'arrêt de la demande, donc je ne pense pas que l'application Web le remarque même avant qu'il ne soit temps d'écrire dans le flux de sortie.

EDIT: J'ai essayé maintenant avec différentes connexions et il semble que mon pare-feu abandonne la connexion en raison de l'absence de données (prématurément). D'où le code 995.

jishi
la source
La valeur par défaut "minBytesPerSecond" est 240, ce qui entraînerait 46 minutes, mais vous pourriez voir des délais d'attente ajustés dynamiquement à la place (IIS le fait sur la base de dynamicIdleThreshold sinon 0).
Eckes

Réponses:

0

J'ai le même problème, dans mon cas, la carte réseau est la cause du sc-win32-status 995. Qu'avez-vous changé dans le pare-feu pour éviter cela? Dans le gestionnaire de périphériques => adaptateur réseau => propriétés => avancé, vous pouvez définir plusieurs paramètres liés au réseau

Cerveser
la source
Notre pare-feu avait un ALG pour HTTP configuré, qui couperait la connexion après 120 secondes si aucune donnée ne le traversait. Je viens de le désactiver pour l'IP en question.
jishi
0

Essayez de vérifier le paramètre «executionTimeout» dans ASP.NET. La valeur par défaut pour cela semble être de 110 secondes, ce qui est similaire à ce que vous signalez:

http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

Cela pourrait être présent dans l'une de ces configurations:

  • Machine.config
  • Web.config au niveau racine
  • Web.config au niveau de l'application
  • Web.config au niveau du répertoire virtuel ou physique

J'espère que cela t'aides.

Mark Wragg
la source