Que signifie le mot HttpContext en .ashx ? On va t’en parler
Classe HttpContext : Encapsule toutes les informations spécifiques à HTTP concernant les requêtes HTTP individuelles.
À chaque étape de la chaîne d’exécution des requêtes de traitement, un objet passe entre chaque objet, c’est-à-dire que les informations contextuelles de la requête sont stockées, qui est l’objet HttpContext. L’HttpContext encapsule toutes les informations ASP.NET une seule requête à traiter. Lorsque le mécanisme de gestion des requêtes est établi, la classe HttpContext est instanciée avec un objet HttpRuntime, qui passe ensuite par différentes étapes de la durée de vie de la requête
Introduction à HttpContext : Conservez les données pour un seul utilisateur, une seule requête, et les données ne sont conservées que pendant la durée de cette requête. est fourni pour maintenir les valeurs à transmettre entre différents HttpModules et HttpHandlers. Il peut également être utilisé pour conserver les informations appropriées pour une demande complète.
La propriété Current est un membre statique utile qui retourne l’objet HttpContex actuellement demandé. Les éléments sont des tables de hachage qui partagent des données entre les modules et les gestionnaires impliqués dans le traitement des requêtes. Chaque module ou gestionnaire personnalisé peut ajouter ses propres informations à l’objet HttpContext demandé, et les informations stockées dans les Items sont finalement utilisées par la page, mais ces informations ne peuvent être consultées que lors de l’exécution de la requête httpContext Définition : Encapsule toutes les informations spécifiques à HTTP concernant les requêtes HTTP individuelles.
En fait, la requête Http et toutes les informations retournées y sont incluses.
HttpContext vient de System.Runtime.Remoting.Messaging.CallContext.HostContext. Cette définition de HostContext vise à obtenir ou définir le contexte hôte associé au thread courant (donc le HttpContext ne peut être utilisé que dans le thread de la requête courante). )
HttpContext est en fait stocké dans la propriété CallContext.HostContextSi vous êtes toujours curieux à propos de HostContext, vous pouvez le voir vous-même avec Reflector.exe, je ne veux pas poster plus de code, car certains types et méthodes ne sont pas publics.
HttpContext.Current.Items peut être utilisé lors du partage de données entre HttpModule et HTTPHandler, car chaque requête utilisateur passe par le pipeline d’exécution HTTP HttpModule, HTTPHandler. Lorsque vous implémentez la méthode IHttpMoudle pour transmettre des informations à la demande utilisateur via HttpMoudle. Vous pouvez utiliser HttpContext.Current.Items pour transférer des données dans différentes pages de requête et différents HttpModules, mais une fois la requête terminée et les données postées, les données de cette collection seront perdues d’elles-mêmes.
Par exemple, chaque fois que nous faisons une requête, nous voulons utiliser le même objet de contexte DbContext dans ef, et le code est le suivant :
|