2009-08-13 96 views
0

我已经构建了一个位于我的Web项目中的HttpHandler(ASHX)。我有一个测试页面调用Handler,Handler返回它应该做的事情。但是,一旦返回完成,它会再次被调用。又一次,再一次,令人难以置信。调用HttpHandler时的无尽循环

有关可能导致此类行为的任何想法?

测试页的样子:

<%@ 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> 

,处理程序返回此:

<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

如果处理程序返回''? – 2009-08-13 16:21:53

+0

它通常的行为会发生什么。这是在处理程序中触发错误时的响应: 它不重跳闸处理程序要么... – 2009-08-13 19:14:14

回答

0

你可以尝试启动调试器和评估处理程序内的请求对象,以尝试看看什么是调用处理程序吗?通过这个我的意思是尝试评估任何引用或用户代理,看看谁在发出请求。

我不知道,如果你实例化的Flash应用程序,都可能是这里的问题。

+0

第一次进入处理程序: 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“ 第二遍是相同的。它对我来说看起来不错,它只是表现得像一旦它给玩家带来了更新。 – 2009-08-13 19:39:13

+0

发现问题,是的 - 它是在Flash应用程序。如果浏览器类型为FF,则会发生自动刷新(应该仅在闪存变量中加载参数的情况下触发一次)。随着我们正在撰写的新服务,这变成了一个无限循环条件。 2009-08-20 16:43:43

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

是否有源启用了处理程序?如果确实如此,它会链接到启用它的另一个页面吗?可能是你递归地链接你的网页永远:(

+0

我的web.config具有这样的: 在测试页上有一个请求到调用处理程序的.RIV文件类型。处理程序返回一些HTML。没有涉及其他页面。也许我不了解你的问题。 – 2009-08-13 17:34:45