2009-08-13 98 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