web-dev-qa-db-fra.com

Augmentez le délai d'attente ASP.Net au niveau par page

Est-il possible d'augmenter le délai d'attente pour une seule page ASP.net. Je sais que c'est possible au niveau du serveur, mais est-ce possible au niveau de la page?

J'en ai besoin pour une seule page de rapport qui prend 2-3 minutes à charger

des idées?

31
ChrisCa

Je pense que ce que vous recherchez est ScriptTimeout. Vous pouvez définir cette encart comme ceci:

Page.Server.ScriptTimeout = 60;

La valeur du délai d'attente est en secondes.

En outre, sachez que si vous exécutez en mode débogage, cela est ignoré et le délai d'attente est défini au maximum; Je ne pense pas que ce soit un problème pour vous de toute façon, car vous augmentez le délai d'attente, pas le diminuez.

30
Mark Bell

Selon cette page , et je pourrais également vérifier, un autre bon moyen d'y parvenir est d'ajouter ceci au configSection de votre configuration:

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="600"/>      
    </system.web>    
  </location>

Vous pouvez ensuite ajouter d'autres attributs comme maxRequestLength="204800" ou d'autres sections, comme:

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="6000" maxRequestLength="204800" />      
    </system.web>    
    <system.webServer>
      <security>
        <requestFiltering>
          <requestLimits maxAllowedContentLength="209715200" />
        </requestFiltering>
      </security>
    </system.webServer>
  </location>

J'espère que cela t'aides.

15
Krishnan

J'ai trouvé que mon problème était résolu en augmentant le délai d'expiration SQL, en utilisant command.CommandTimeout = 100; exemple:

using (var connection = new SqlConnection(connectionString)) 
{
  connection.Open();
  SqlCommand command = new SqlCommand(queryString, connection);
  // Setting command timeout to 100 seconds
  command.CommandTimeout = 100;
  command.ExecuteNonQuery();
}
0