C# 为什么赢了';我的计时器控件是否写入会话变量的内容?

C# 为什么赢了';我的计时器控件是否写入会话变量的内容?,c#,timer,C#,Timer,我在c#.net web应用程序中有一个长时间运行的进程。在进程运行时,我尝试更新页面,以便用户知道他们在哪个记录上。我使用定时器控件来完成(或尝试完成)。计时器似乎按预期工作,直到我启动进程。然后,计时器似乎从未运行,或者一直在等待进程完成并运行一次。虽然我读到计时器在自己的线程上运行,但它们似乎在同一个线程上运行 这是计时器的标记 <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"&

我在c#.net web应用程序中有一个长时间运行的进程。在进程运行时,我尝试更新页面,以便用户知道他们在哪个记录上。我使用定时器控件来完成(或尝试完成)。计时器似乎按预期工作,直到我启动进程。然后,计时器似乎从未运行,或者一直在等待进程完成并运行一次。虽然我读到计时器在自己的线程上运行,但它们似乎在同一个线程上运行

这是计时器的标记

   <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>
     </asp:UpdatePanel>

     <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick" >
     </asp:Timer>

您是否尝试将计时器控件放入
ContentTemplate
UpdatePanel
中?是的。就这样开始的。没有区别,“启动流程”--你的具体意思是什么?请提供可靠的重现问题的信息。从您发布的代码中不清楚,为什么希望客户端页面在服务器上运行的计时器滴答作响时自动更新。
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        string msg = string.Empty;

        if (Session["msg"] == null)
        {
            msg = "Processing....";
        }
        else
        {

            msg = Convert.ToString(Session["msg"]);
       }

        Literal1.Text = msg;
   }