7
votes

Une source de journal des événements qui est toujours disponible pour l'écriture?

Y a-t-il une source de journal des événements qui est toujours disponible pour écrire par un webApp ASP.NET?

Backstory, au cas où n'importe qui ait une solution apparemment non liée:

Notre WebApp ASP.NET utilise sa propre source de journal d'événement, mais il n'a pas les droits de la créer. Donc, si la source de journal des événements n'existe pas lorsque la webApp tente d'écrire l'entrée (Instructions d'installation dicter que l'administrateur enregistre manuellement la source de journal des événements, mais ......), notre webApp ne mit rien dans le journal des événements quand il a des problèmes.

J'espère qu'il y a une autre source (app-agnostique) que je peux utiliser pour informer les personnes qui surveillent le journal des événements.


0 commentaires

5 Réponses :


0
votes

Vous devriez pouvoir écrire aux journaux d'événement intégrés (application, sécurité, système) sans grande difficulté.


5 commentaires

Que voudrai-je utiliser comme source d'événement?


Utilisez quelle que soit la source d'événement que vous souhaitez. Si la source n'est pas enregistrée, le message sera placé dans le journal intégré intégré du système, mais la source apparaîtra toujours dans le message actuel.


Hmm. Pour les messages que vous observez avec la source "dans le message actuel", quelle valeur le journal des événements affiche dans la colonne "Source"?


Pas VRAI: Vous avez besoin d'une source pour coïncider avec "Application", "Security" ou "System", et en moins de confiance, il n'est pas toujours clair des sources disponibles. Pour contredire un autre commentaire, .NET N'utilise pas toujours simplement le journal d'application intégré.


Cette réponse ne répond pas à la question; L'OP a spécifiquement demandé une source de journal d'événement intégrée, pas un journal d'événement intégré. Écrire un journal des événements nécessite une source en plus du journal des événements.



1
votes

Notification par courrier électronique considérée? Je suppose que certains administrateurs préfèrent être avertis de leurs téléphones cellulaires.

Vous pouvez également sonner à la maison (appelez un service Web pour écrire le journal de votre propre serveur), au cas où le client refuse de créer une clé sous HKLM \ System \ CurrentControlset \ Services \ EventLog \


0 commentaires

2
votes

Dans cet article de KB, il explique le problème http://support.microsoft.com/ KB / 329291

PRB: «Accès Registre demandé n'est pas autorisé» Message d'erreur lorsque ASP.NET Application tente d'écrire de nouvelles eventsSource dans EventLog H2>

Symptômes h3>

Lorsque vous utilisez ASP.NET pour créer une nouvelle source d'événement dans le journal des événements, vous pouvez recevoir le message d'erreur suivant: P>

System.Security.SecurityException: L'accès au registre demandé n'est pas autorisé. P> blockQuote>

cause h2>

Par défaut, le jeton d'utilisateur du processus de travailleur ASP.NET est ASPNET (ou Networkservice pour des applications exécutées sur les services d'information sur Internet [IIS] 6.0). Le problème dans la section "Symptômes" se produit car votre compte ne dispose pas des droits d'utilisateur corrects pour créer une source d'événement. P>

Résolution h2>

Première approche: h3>

Créer une source d'événement Dans le cadre du journal des événements de l'application dans l'éditeur de registre ( sur le serveur strong>, pas votre PC de développement). Pour ce faire, procédez comme suit: p>

  1. Accédez au bureau Windows du serveur. Cliquez sur Démarrer, puis sur Exécuter. LI>
  2. Dans la zone de texte Open, tapez Regedit. LI>
  3. localiser la sous-clé de registre suivante: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ EventLog \ Application CODE> LI>
  4. Cliquez avec le bouton droit de la souris sur la sous-clé de l'application, pointez sur nouveau fort>, puis cliquez sur clé forte>. li>.
  5. Type " Test code>" pour le nom de la touche. LI>
  6. Editeur de registre fermer. Li> ol>

    Deuxième approche (alternative): h3>

    Le EventLogInstaller Code> Classe dans le System.Diagnostics Code> Les espaces de noms vous permet d'installer et de configurer un journal des événements que votre application se lit ou écrit en cours d'exécution. Vous pouvez créer une source d'événement à l'aide de EventLoginstaller code>. Pour ce faire, procédez comme suit: p>

    1. Utilisez Microsoft Visual Basic .NET ou Microsoft Visual C # .NET pour créer une nouvelle bibliothèque de classe nommée EventLogSourceInstaller. Par défaut, le fichier Class1.VB ou le fichier CLASS1.CS est créé. LI>
    2. dans la solution Explorer, cliquez avec le bouton droit de la souris sur EventLogSourceInstaller CODE>, puis cliquez sur Ajouter des références. LI>
    3. Dans la boîte de dialogue Ajouter une référence, double-cliquez sur System.Configuration.install.dll code>, puis cliquez sur OK. LI>
    4. renommer le class1.vb code> `class1.cs` à myEventLoginstaller.vb \ myEventLoginstaller.cs. Li>
    5. Remplacez le code existant dans myEventLoginstaller.vb code> ou myEventLoginstaller.cs code> avec l'exemple de code suivant: Échantillon Visual Basic .NET FORT> LI> ol>
      using System;
      using System.Diagnostics;
      using System.ComponentModel;
      using System.Configuration.Install;
      
      
      namespace EventLogSourceInstaller 
      {
        [RunInstaller(true)]
        public class MyEventLogInstaller : Installer
        {
            private EventLogInstaller myEventLogInstaller;
      
            public MyEventLogInstaller()
            {
                //Create Instance of EventLogInstaller
                myEventLogInstaller = new EventLogInstaller();
      
                // Set the Source of Event Log, to be created.
                myEventLogInstaller.Source = "TEST";
      
                // Set the Log that source is created in
                myEventLogInstaller.Log = "Application";
                
                // Add myEventLogInstaller to the Installers Collection.
                Installers.Add(myEventLogInstaller);
            }
        }
      }
      


0 commentaires

1
votes

Vous n'avez peut-être pas accès à la création d'une source d'événement à partir de l'application Web, mais si la mémoire sert, vous pouvez vérifier si l'on existe s'il existe.

Dans le global.aSax ou un gestionnaire personnalisé, vérifiez si elles la créaient comme elles étaient censées. S'ils ne l'ont pas fait, ont un montrant de rappel vraiment gênant sur chaque page. Dès qu'ils le créent comme ils étaient censés, la div évitent :)


1 commentaires

À court de réponse solide à ma question initiale, c'est probablement ce que je vais faire. Merci.



1
votes

L'ASP .NET XYZ0 "Source sera, je pense que , toujours être disponible pour écrire.


0 commentaires