Bonjour,
J'ai un probème auquel je suis confronté depuis 15 jours sans trouver...

J'ai une DLL ISAPI delphi 7 (tournant sous IIS 6.0 sous Windows 2003) qui reçoit des requettes XML en Post et y répond
mais de temps en temps sans savoir pourquoi le POST n'arrive pas jusqu'au bout et les données reçues sont tronquées (j'ai analysé avec des outils de capture de trame type Wireshark, observer ou Sniffer pro) et je constate que le xml renvoyé est coupé brutalement et suivi d'un RST (reset de la connexion)
ceci de façon totalement aléatoire (pour un même xml, une fois il est posté complètement, et une fois non).

Jai éliminé les causes réseaux puisque je reproduit le problème meme en postant et en recevant sur la meme machine (url localhost)

reste pour moi 2 causes possibles :
Coupé par IIS ou coupé par ma DLL ISAPI Delphi
concernant mon code delphi j'ai tout essayé et je ne voit pas ....y a t-il un bug Codgear connu sur le post du Twebresponse ?...
y a t-il des experts capables de me répondre ?

d'avance merci...

voici un extrait de code delphi avec lequel je reproduit le problème :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TWM_monwebmodule.WebModule1DefaultAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
//action chargé de traiter les receptions de requetes POST
...
        //pour tester j'ai 60 sec apres reception d'unre requete pour deposer un fichier xml manuellement dans   un repertoire qui sera envoyé par retour post
    if Request.MethodType in [mtPost] then
        for i:=1 to 60 do begin
          if not(fileexists('c:\aenvoyer\reponse_post.xml')) then
           sleep(1000)
          else begin
           sleep(1000);
           lstdebug:=tstringlist.create;
           lstdebug.LoadFromFile('c:\sinweb\aenvoyer\reponse_post.xml');
           response.Content:=lstdebug.Text;
//j'ai aussi essayé avec response.sendesponse puis request.writestring, en utilisant un stream en modifiant handled...sans succès
           resultat:= response.sent // toujours=true que ça se passe mal ou bien !?
           break;
          end;
         end;//for