2009-08-13 5 views
0

J'ai construit un HttpHandler (ASHX) qui se trouve dans mon projet web. J'ai une page de test qui appelle le gestionnaire et le gestionnaire renvoie ce qu'il est censé faire. Cependant, dès que le retour est fait, il est à nouveau invoqué. Et encore, et encore, et encore, ad nauseam.Boucle sans fin lors de l'appel d'un HttpHandler

Des idées sur ce qui pourrait causer ce type de comportement?

La page de test ressemble à:

<%@ Page Language="C#" AutoEventWireup="true" Codebehind="TestPage.aspx.cs" Inherits="RivWorks.Web.TestPage" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <h3>Tests</h3> 
      <div style="background-color: Silver; padding: 10px;"> 
       <iframe class="welcome" src="http://localhost/barrows.riv?client=33ee472yaaM24a"></iframe> 
      </div> 
     </div> 
    </form> 
</body> 
</html> 

Le gestionnaire retourne ceci:

<body style="border-width:0px;overflow:auto;margin:0px;padding:0px;background-color:transparent;"> 
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="ply" height="100%" width="100%"> 
     <param name="movie" value="http://localhost/widgets/player/1_1/rivplayer.swf"></param> 
     <param name="version" value="9"></param> 
     <param name="scale" value="noscale"></param> 
     <param name="allowscriptaccess" value="always"></param> 
     <param name="wmode" value="transparent"></param> 
     <param name="flashvars" value="campaign=10370&amp;interactive=JkVI5YTUAjWSd2nWWkpb1Q==&amp;localGateway=http://localhost/"></param> 
     <embed src="http://localhost/widgets/player/1_1/rivplayer.swf" name="ply" height="100%" width="100%" allowscriptaccess="always" wmode="transparent" flashvars="campaign=10370&amp;interactive=JkVI5YTUAjWSd2nWWkpb1Q==&amp;localGateway=http://localhost/" play="True" loop="False" version="9" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer/" /> 
    </object> 
</body> 
+0

Qu'est-ce qui se passe si le gestionnaire retourne ''? –

+0

Il se comporte normalement. Cette est la réponse lorsqu'une erreur est déclenchée dans le gestionnaire: Il ne retripe pas le gestionnaire non plus ... –

Répondre

0

Pourriez-vous essayer de lancer le débogueur et d'évaluer l'objet Demande dans le gestionnaire pour essayer de voir ce qui appelle le gestionnaire? ou UserAgent et voir qui est fait la demande.

Je me demande si l'application flash vous instanciation pourrait en quelque sorte la question ici.

+0

1ère fois dans le gestionnaire: UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729) " UrlReferrer = {http: //localhost/testpage.aspx} AbsoluteUri =" http: //localhost/testpage.aspx " La deuxième fois est la même. Ca me va bien, ça se comporte comme si ça rafraichissait dès qu'il rendait le joueur. –

+0

Trouvé le problème et oui - il était dans l'application flash. Si le type de navigateur était FF, il y avait un rafraîchissement automatique (qui était censé se déclencher une seule fois en fonction des params chargés dans les vars flash). Avec les nouveaux services que nous sommes en train d'écrire, c'est devenu une condition de boucle sans fin.

0
<iframe class="welcome" src="http://localhost/barrows.riv?client=33ee472yaaM24a"></iframe> 

La source que le gestionnaire activé? Et si c'est le cas, est-ce qu'il lie une autre page qui l'a activée? Pourriez-vous lier récursivement vos pages pour toujours :(

+0

Mon web.config a ceci: Sur la page de test il y a une requête à un type de fichier .RIV qui appelle le gestionnaire. Le gestionnaire renvoie du code HTML. Aucune autre page n'est impliquée. Peut-être que je ne comprends pas votre question. –

Questions connexes