0

请查看此代码并找出它不起作用的原因。我没有在网页中收到警报。但是,它下面的 console.writeLine 正在被执行。

    private void PublishLoop()
    {
        while (Running)
        {          
            Thread.Sleep(5000);
            dtMessages = (String)(Cache.Get(key));
            if (dtMessages == null)
            {
                //publish here
                dtMessages = LoadMessages();
                System.Diagnostics.Debugger.Log(0,null,dtMessages);
                Page.ClientScript.RegisterStartupScript(this.GetType(),"ClientScript", "alert('hi');",true);
                Console.WriteLine(dtMessages);
            }
        }

     }
4

1 回答 1

0

编辑:您实际上每个响应只能注册一个唯一键。您在 while 循环中运行这行代码,因此它会一直注册相同的键。每次调用此函数时,都需要给它一个唯一的键参数。在您的情况下,也许您可​​以在循环中有一个计数器并将其附加到您的密钥字符串中

int i = 0;
while (Running)
        {          
            Thread.Sleep(5000);
            dtMessages = (String)(Cache.Get(key));
            if (dtMessages == null)
            {
                //publish here
                dtMessages = LoadMessages();
                System.Diagnostics.Debugger.Log(0,null,dtMessages);
                Page.ClientScript.RegisterStartupScript(this.GetType(),"ClientScript" + i.ToString(), "alert('hi');",true);
                Console.WriteLine(dtMessages);
                i++;
            }
        }
于 2011-06-30T23:09:34.047 回答