Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

[Atlas] UpdatePanel et TimeOut
Dans une de mes pages je lance un trés gros traitement qui peut prendre plusieurs minutes. Pour une meilleure experience utilisateur je décide de mettre un UpdatePanel ainsi qu'un UpdateProgress pour afficher un message d'attente associé d'une joli image.
 
Tout d'abord comme le traitement est long il faut modifier deux paramètres :
 
au niveau de la page :
Server.ScriptTimeout = 600;

Au niveau du Web.Config

<system.web>
<
httpRuntime executionTimeout="600"/>

Je test ma page tout se passe pour le moment bien et puis au bout d'environ une à deux minute, l'image disparait et l'UpdatePanel n'est pas rafraichit. Je comprend rapidement que le problème vient d'un TimeOut sur la requête Ajax. Je lance NotePad2 et ouvre les 11539 lignes du fichier Atlas.js à la recherche du code paramètrant la requete Ajax.

Ligne 11237 je découvre ca :

var
request = new Sys.Net.WebRequest();
request.set_url(form.action);
request.get_headers()['delta'] = 'true';
request.get_headers()['Cache-Control'] = 'no-cache';
request.set_timeoutInterval(90000);
request.set_priority(Sys.Net.WebRequestPriority.High);

La durée du timeout est définit en dure dans Atlas ! Impossible de le changer !!! J'ai donc été obligé d'abandonner l'idée d'un UpdateProgress pour ma page :-(
 

Voici le code permettant de reproduire ce scénario.

<%@  Page  Language="C#"  %>

<!DOCTYPE  html  PUBLIC  "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<
script  runat="server">
    
    
protected  void  Page_Load(Object  sender, EventArgs  e)
    {
        Server.ScriptTimeout = 600;
    }

    
protected  void  Button1_Click(Object  sender, EventArgs  e)
    {
        Label1.Text = DropDownList1.SelectedItem.Text;
        System.Threading.
Thread.Sleep(Convert.ToInt32(DropDownList1.SelectedValue) * 1000);
    }
    
</script>

<
html  xmlns="http://www.w3.org/1999/xhtml">
<
head  runat="server">
     <title>Untitled Page</title>
</
head>
<
body>
     <atlas:ScriptManager  ID="ScriptManager1"  runat="server"  EnablePartialRendering="true"  />
     <form  id="form1"  runat="server">
         <div>

             <asp:DropDownList  ID="DropDownList1"  runat="server">
                 <asp:ListItem  Text="5 sec"  Value="5"  />
                 <asp:ListItem  Text="30 sec"  Value="30"  />
                 <asp:ListItem  Text="120 sec"  Value="120"  />
             </asp:DropDownList>

             <asp:Button  ID="Button1"  runat="server"  Text="Action"  OnClick="Button1_Click"  />
             <atlas:UpdatePanel  ID="UpdatePanel1"  runat="server">
                 <ContentTemplate>
                     <asp:Label  ID="Label1"  runat="server"></asp:Label>
                 </ContentTemplate>
                 <Triggers>
                     <atlas:ControlEventTrigger  ControlID="Button1"  EventName="Click"  />
                 </Triggers>
             </atlas:UpdatePanel>

             <atlas:UpdateProgress  ID="UpdateProgress1"  runat="server">
                 <ProgressTemplate>
                     Traitement en cours
                
</ProgressTemplate>
             </atlas:UpdateProgress>

         </div>
     </form>
</
body>
</
html>

Posted: samedi 26 août 2006 15:44 par cyril
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Poppyto a dit :

Mdr ! Une bonne variable en dur, ça fait toujours plaisir !
# août 30, 2006 06:09

lagaman a dit :

tu as essayé de mettre le timeout sur ton script manager :

<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" AsyncPostBackTimeout="3600" />

# août 5, 2008 14:53
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01