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?
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.
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.
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();
}