Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 20310|Répondre: 0

[ASP.NET] ASP.NET utilisent des contrôleurs asynchrones dans MVC

[Copié le lien]
Publié sur 01/04/2018 15:20:59 | | |
Pool de fils de fils

J’ai toujours voulu réécrire le projet en asynchrone, mais ASP.NETMVC3 est trop encombrant à écrire, .NET 4.5 et ASP.NET code MVC sont relativement simples, Microsoft semble toujours avoir aimé faire cela, chaque chose mature, il doit évoluer plusieurs versions pour tendre à standardiser. ASP.NET pourquoi faut-il utiliser l’asynchrone dans MVC, IIS dispose d’un pool de threads pour traiter les requêtes des utilisateurs ; lorsqu’une nouvelle requête arrive, les threads du pool sont programmés pour traiter la requête, mais lorsque la concurrence est élevée, les threads du pool ne peuvent plus répondre à un nombre important de requêtes, et chaque thread du pool est occupé lors du traitement de la requête, le thread traitant la requête sera bloqué, et le thread ne peut pas fournir de services à une autre requête, si la file de requêtes est pleine, le web Le serveur rejette la requête et se retrouve en état HTTP 503 occupé. Si vous faites face à une latence élevée, comme des opérations réseau, la plupart de ces threads attendent simplement l’état et ne font rien la plupart du temps, ces threads peuvent utiliser une programmation asynchrone pour mieux en tirer parti.

Traitement asynchrone

Par exemple, si une requête génère un appel réseau qui prend deux secondes à être complété, la requête est effectuéeIl faut deux secondes pour s’exécuter à la fois de façon synchrone et asynchrone。 MaisLors d’un appel asynchrone, le serveur ne bloque pas la réponse aux autres requêtes en attendant que la première requête soit complétée。 Ainsi, lorsqu’il y a de nombreuses requêtes appelant des opérations de longue durée, les requêtes asynchrones peuvent empêcher la mise en file d’attente. Dans .NET 4.5, le pool de threads maximum est de 5000, et les mots-clés await et async ont également été ajoutés dans .NET 4.5 pour simplifier la programmation asynchrone.

Synchrone ou asynchrone (extrait du MSDN)

  • Typiquement, les pipelines de synchronisation sont utilisés lorsque les conditions suivantes sont remplies :
  • Fonctionnement simple ou temps d’exécution court.
  • La simplicité est plus importante que l’efficacité.
  • Cette opération concerne principalement des opérations CPU plutôt que des opérations impliquant une grande surcharge disque ou réseau. Utiliser une méthode d’opération asynchrone pour les opérations liées au CPU n’apporte aucun avantage et entraîne également plus de surcharge.

En général, les pipelines asynchrones sont utilisés lorsque les conditions suivantes sont remplies :

  • Les opérations sont liées au réseau ou aux E/S plutôt qu’au CPU.
  • Des tests ont montré que les opérations de blocage constituent un goulot d’étranglement pour la performance du site, et qu’en utilisant des méthodes asynchrones pour ces appels de blocage, l’IIS peut traiter davantage de requêtes.
  • Le parallélisme est plus important que la simplicité du code.
  • Vous souhaitez fournir un mécanisme permettant aux utilisateurs d’annuler des requêtes de longue date.

ASP.NET utilisent des contrôleurs asynchrones dans MVC






Précédent:Traduction de documents stylet et supports d’apprentissage du cadre mvvm WPF
Prochain:[API Windows] Assistant de code pour API de requête C# [avec code source]
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com