2009-12-02 7 views
0

de asp.net
C#
minuterie asp.net pour charger le contenu de la page

Notre page web contient actuellement une application web assez grand qui provoque un retard important lorsque attemping pour y accéder. Je suis en train de mettre en place un service web WCF pour utiliser ajax mais le retard est une préoccupation pour mon employeur alors il voulait une solution rapide et sale en attendant.

Je voudrais que la page vide soit chargée, puis utiliser une minuterie pour charger le contenu. Cela permettra de réduire le temps de chargement de la page, mais je ne sais pas comment l'accomplir.

Toute aide serait appréciée

Shawn

+0

Avez-vous regarder dans d'autres techniques comme la réponse gzipping , en utilisant la minimisation JS, etc.? – RichardOD

Répondre

1

code pour vous aider à démarrer:

Dans la page asp.net:

<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="1"> 
</asp:Timer> 
<asp:UpdatePanel ID="updatePanel1" runat="server" UpdateMode="Conditional"> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
    </Triggers> 
    <ContentTemplate> 
    .... your stuff here 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="100"> 
    <ProgressTemplate> 
    Please wait... 
    </ProgressTemplate> 
</asp:UpdateProgress> 

Dans le code sous-jacent:

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    this.Timer1.Enabled = false; 
    StartLongRunningTask();        
} 
0

Au lieu d'une minuterie, vous pouvez vider le Response avec Response.Flush().

Questions connexes