Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

WebRequestInformation, classe

Fournit des informations sur la demande Web en cours.

System.Object
  System.Web.Management.WebRequestInformation

Espace de noms :  System.Web.Management
Assembly :  System.Web (dans System.Web.dll)
public sealed class WebRequestInformation

Le type WebRequestInformation expose les membres suivants.

  NomDescription
Propriété publiquePrincipalObtient l'instance de l'instance principale de code managé associée à la demande Web.
Propriété publiqueRequestPathObtient le chemin d'accès physique de la demande Web.
Propriété publiqueRequestUrlObtient le chemin d'accès logique de la demande.
Propriété publiqueThreadAccountNameObtient une chaîne qui représente le nom de connexion Windows de l'utilisateur au nom duquel le code est en cours d'exécution.
Propriété publiqueUserHostAddressObtient l'adresse d'hôte de l'utilisateur.
Début
  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueFormatToStringMet en forme les informations sur la demande Web.
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

Le contrôle d'état ASP.NET autorise le personnel de la production et des opérations à gérer les applications Web déployées. L'espace de noms System.Web.Management contient les types d'événements d'état responsables de l'empaquetage des données de l'état de l'application et les types de fournisseurs responsables du traitement de ces données. Il contient également les types de prises en charge qui facilitent la gestion des événements d'état.

Les instances de la classe WebRequestInformation contiennent des informations obtenues à l'aide des types WebRequestEvent, WebAuditEvent, WebErrorEvent ou WebRequestErrorEvent.

Votre application a besoin des autorisations appropriées pour accéder aux informations protégées fournies par ce type.

RemarqueRemarque

Dans la plupart des cas, vous serez en mesure d'utiliser les types de contrôles d'état ASP.NET tels qu'ils sont implémentés, et vous surveillerez le système de contrôle d'état en spécifiant des valeurs dans la section de configuration healthMonitoring. Vous pouvez aussi dériver à partir des types de contrôle d'intégrité pour créer vos propres fournisseurs et événements personnalisés. Pour obtenir un exemple de la création d'une classe d'événements personnalisée, consultez l'exemple fourni dans cette rubrique.

L'exemple de code suivant montre comment implémenter un événement personnalisé qui utilise le type WebRequestInformation.

Un extrait du fichier de configuration qui permet à ASP.NET d'utiliser cet événement personnalisé est également affiché.

Assurez-vous bien que votre événement personnalisé est déclenché au bon moment, à savoir, lorsque l'événement d'état système équivalent qu'il remplace doit l'être.

<healthMonitoring
  heartBeatInterval="0" enabled="true">

  <profiles>
    <add name="Custom" 
      minInstances="1" 
      maxLimit="Infinite" 
      minInterval="00:00:00" />
  </profiles>

  <eventMappings>

    <add 
      name="SampleWebRequestInformation" 
      type="SamplesAspNet.SampleWebRequestInformation,webrequestinformation,Version=1.0.1782.28745, Culture=neutral, PublicKeyToken=79955d9b8521c250,processorArchitecture=MSIL" />

  </eventMappings>

  <rules>

    <add name="Custom Web Request Info Event" 
      eventName="SampleWebRequestInformation" 
      provider="EventLogProvider"
      profile="Custom" />

  </rules>

</healthMonitoring>


using System;
using System.Text;
using System.Web;
using System.Web.Management;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SamplesAspNet
{
    // Implements a custom WebRequestEvent that uses
    // WebRequestInformation. 
    public class SampleWebRequestInformation :
        WebRequestEvent
    {
        private StringBuilder eventInfo;

        // Instantiate events identified 
        // only by their event code.
        public SampleWebRequestInformation(string msg,
            object eventSource, int eventCode):
        base(msg, eventSource, eventCode)
        {
            // Perform custom initialization.
            eventInfo = new StringBuilder();
            eventInfo.Append(string.Format(
                "Event created at: {0}",
                EventTime.ToString()));
        }


        // Instantiate events identified by 
        // their event code.and related 
        // event detailed code.
        public SampleWebRequestInformation(string msg,
            object eventSource, int eventCode,
            int eventDetailCode)
            :
            base(msg, eventSource,
            eventCode, eventDetailCode)
        {
            // Perform custom initialization.
            eventInfo = new StringBuilder();
            eventInfo.Append(string.Format(
                "Event created at: {0}",
                EventTime.ToString()));
        }


        // Raises the event.
        public override void Raise()
        {
            // Perform custom processing. 
            eventInfo.Append(string.Format(
                "Event raised at: {0}",
               EventTime.ToString()));
            // Raise the event.
            base.Raise();
        }

        // Get the request path.
        public string GetRequestPath()
        {
            // Get the request path.
            return (string.Format(
                "Request path: {0}",
                RequestInformation.RequestPath));
        }

        // Get the request URL.
        public string GetRequestUrl()
        {
            // Get the request URL.
            return (string.Format(
                "Request URL: {0}",
                RequestInformation.RequestUrl));
        }

        // Get the request user host address.
        public string GetRequestUserHostAdddress()
        {
            // Get the request user host address.
            return (string.Format(
                "Request user host address: {0}",
                RequestInformation.UserHostAddress));
        }

        // Get the request principal.
        public string GetRequestPrincipal()
        {
            // Get the request principal.
            return (string.Format(
                "Request principal name: {0}",
                RequestInformation.Principal.Identity.Name));
        }


        // Formats Web request event information.
        public override void FormatCustomEventDetails(
         WebEventFormatter formatter)
        {

            // Add custom data.

            formatter.AppendLine("");
            formatter.AppendLine(
                "Custom Request Information:");

            formatter.IndentationLevel += 1;

            // Display the request information obtained 
            // using the WebRequestInformation object.
            formatter.AppendLine(GetRequestPath());
            formatter.AppendLine(GetRequestUrl());
            formatter.AppendLine(GetRequestUserHostAdddress());
            formatter.AppendLine(GetRequestPrincipal());

            formatter.IndentationLevel -= 1;

            formatter.AppendLine(eventInfo.ToString());

        }


    }
}


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tout membre static (Shared en Visual Basic) public de ce type est thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft. Tous droits réservés.