我在asp.net2.0中使用ajax的timer去定时刷新一个updatapanle,只用一个用户的时候没有问题,可是多个用户同时访问就弹出the status code returned from the server was 500,我把updatapanle去掉又没有错误了,怎么解决啊?
原来我以为是代码有问题,可是把updatapanel去掉运行了一个小时也没有报错误,page上设置了ValidateRequest="false"也没有用,这个到底是什么原因,怎么解决啊,各位帮帮忙

解决方案 »

  1.   

    我建议这类实时轮循的东西不要用UpdatePanel,而是用‘轻量级’的javascript + Web Service, client-callback也行。
      

  2.   

    //前臺代碼
                                <asp:ScriptManager ID="ScriptManager1" runat="server">
                                </asp:ScriptManager>
                                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                                    <ContentTemplate>
                                        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                                    ForeColor="#333333" GridLines="None" meta:resourcekey="GridView1Resource1">
                                    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                                    <EditRowStyle BackColor="#999999" />
                                    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                                    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                                    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                                    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                                    <Columns>
                                       <asp:BoundField DataField="username" HeaderText="用戶名" meta:resourcekey="BoundFieldResource1" >
                                          
                                           <ItemStyle Width="60px" />
                                       </asp:BoundField>
                                        <asp:BoundField DataField="message" HeaderText="留言" meta:resourcekey="BoundFieldResource2"  >
                                            <ItemStyle Width="380px" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="createtime" HeaderText="時間" meta:resourcekey="BoundFieldResource3"  >
                                            <ItemStyle Width="150px" />
                                        </asp:BoundField>
                                        
                                    </Columns>
                                </asp:GridView>
                                        <asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick1">
                                        </asp:Timer>
                                    </ContentTemplate>
                                </asp:UpdatePanel>//後臺代碼
        protected void Timer1_Tick1(object sender, EventArgs e)
        {
            BindGridView();  
        }