ASP.NET MVC et httpRuntime executionTimeout

je voudrais augmenter le httpRuntime executionTimeout pour un paragraphe d'un ASP.NET MVC application.

dans une application web ordinaire, vous pouvez utiliser:

<configuration>
  <location path="UploadPage.aspx">
    <httpRuntime executionTimeout="600"/>
  </location>
</configuration>

cependant il n'y a vraiment pas l'idée de "dossiers" dans ASP.NET MVC, alors comment je ferais ça?

laisse supposer le ASP.NET le chemin MVC est /Images/Upload avec un Controller ImagesController et une Action de téléchargement.

41
demandé sur KyleMit 2009-01-29 19:27:14

5 réponses

vous pouvez inclure la totalité du chemin MVC (controller et action) dans l'attribut de chemin de la balise . Quelque chose comme ceci devrait fonctionner:

<location path="Images/Upload">
    <system.web>
        <httpRuntime executionTimeout="600" />
    </system.web>
</location>
51
répondu Chris Hynes 2009-03-11 22:19:34

Chris Hynes solution works! Juste être sûr de ne pas inclure ~/ dans votre chemin.

Cette réponse détails d'une autre façon: il suffit de régler la ScriptTimeout au sein de votre code action:

public ActionResult NoTimeout()
{
    HttpContext.Server.ScriptTimeout = 60 * 10; // Ten minutes..
    System.Threading.Thread.Sleep(1000 * 60 * 5); // Five minutes..
    return Content("NoTimeout complete", "text/plain"); // This will return..
}
8
répondu Jarrod Dixon 2017-05-23 12:32:11

si l'action se trouve dans le contrôleur par défaut, alors home/upload ne fonctionne pas, vous n'avez qu'à mettre le nom de l'action.

1
répondu KevinUK 2009-06-16 12:48:05

je remarque que vous essayez spécifiquement d'augmenter le délai sur une page de téléchargement. J'ai eu quelques succès avec un "chunking" uploader appelé plupload. Une action MVC relativement simple peut être configurée pour recevoir les morceaux du téléchargement, en ajoutant chaque morceau au fur et à mesure qu'il est reçu. Avec les petits morceaux, vous n'aurez pas besoin d'augmenter le délai d'attente. Bien sûr, il pourrait y avoir des limites de navigateur, mais n

http://plupload.com /

1
répondu Greg Ogle 2012-07-19 13:37:31

regardez un AsyncController, si vous utilisez ceci, vous aurez la possibilité de définir un attribut AsyncTimeout sur une méthode d'action, de sorte que vous serez en mesure de timeout une requête.

Liens qui m'ont aidé: http://forums.asp.net/p/1564303/3922462.aspx http://dariosantarelli.wordpress.com/2010/10/16/asp-net-mvc-2-handling-timeouts-in-asynchronous-controllers /

0
répondu jeroen.verhoest 2011-12-15 08:25:02