Red de conocimiento informático - Material del sitio web - Cómo escribir registros de eventos en ASP.NET

Cómo escribir registros de eventos en ASP.NET

Este artículo contiene información sobre cómo editar el registro. Antes de editar el registro, es importante comprender cómo restaurarlo si ocurre un problema. Para obtener información acerca de cómo restaurar el registro, consulte el tema de ayuda "Restauración del registro" en Regedit.exe o el tema de ayuda "Restauración de claves de registro" en Regedit.exe.

Cuando utiliza ASP.NET para escribir un nuevo origen de eventos en el registro de eventos, puede recibir el siguiente error System SecurityException: El acceso al registro solicitado no está permitido

Razón

p>

El usuario predeterminado del proceso asp net es ASPnet. El usuario predeterminado que ejecuta el proceso asp net es ASPNET (o NeorkService en IIS. Este usuario no tiene permiso para crear fuentes de eventos

Remedio

Nota). (La edición del registro provocará que su sistema falle o que Microsoft le asuste a hacer algo). Si necesita solucionar este problema, puede ejecutar el proceso asp net de la misma manera que ejecuta el proceso asp net. Si necesita resolver este problema antes de ejecutar el programa Asp net, debe crear un origen de evento por parte de un usuario con derechos de administrador. Hay varias formas de crear un origen de eventos

Primer método

Utilice los siguientes pasos para crear un origen de eventos

en Registro de aplicación en el Editor del Registro. Haga clic en Inicio y luego haga clic en Ejecutar

. Escriba regedit

en el cuadro Abrir. Busque la siguiente subclave

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application

. Haga clic derecho en Aplicación, haga clic en Nuevo y luego haga clic en Elemento

. Cambie el nombre de este nuevo proyecto a Prueba

. Cierre el Editor del Registro Segundo método

Hay una clase EventLogInstaller en el espacio de nombres de Diagnóstico del sistema que crea y configura un registro de eventos que la aplicación lee y escribe en tiempo de ejecución.

A través de los siguientes pasos, podemos usar la clase EventLogInstaller para crear un origen de evento

p>

. Cree una biblioteca de clases llamada EventLogSourceInstaller en VB NET o C#

<. p>. Agregue una referencia a la dll de instalación de configuración del sistema en el proyecto

. Cambie el nombre de la clase generada automáticamente Vb\Class cs a MyEventLogInstaller vb\MyEventLogInstaller

. cs

. Reemplace el contenido en MyEventLogInstaller vb o MyEventLogInstaller cs con el siguiente código

Ejemplo de Visual Basic NET

Importar diagnóstico del sistema Importar configuración del sistema Instalación Importar modelo de componente del sistema

. _Public Class MyEventLogInstallerInherits InstallerPrivate myEventLogInstaller As EventLogInstaller

Public Sub New() Crear una instancia de EventLogInstaller myEventLogInstaller = New EventLogInstaller() Establece el código fuente del registro de eventos que se creará myEventLogInstaller Source = PRUEBA Establezca el registro en el que se crea el origen en myEventLogInstaller Log = Aplicación Agregue myEventLogInstaller a InstallerCollection Installers Add(myEventLogInstaller) End Sub End Class

Visual C# NET Sampleusing System usando System ComponentModel usando System Configuration Install <; /p>

espacio de nombres EventLogSourceInstaller {[RunInstaller(true)]clase pública MyEventLogInstaller :Instalador{privado EventLogInstaller myEventLogInstaller;

público MyEventLogInstaller(){/Crear instancia de EventLogInstaller myEventLogInstaller = nuevo EventLogInstaller ();

// Establece el origen del registro de eventos que se creará myEventLogInstaller();

// Establece el origen del registro de eventos que se creará myEventLogInstaller Source = TEST

// La fuente de configuración se crea en myEventLogInstaller Log = Application

// Agrega myEventLogInstaller a la colección de instaladores Install;

ers Add(myEventLogInstaller);}}}?

// Agregar myEventLogInstaller a la colección del instalador. Compile este proyecto para obtener la dll EventLogSourceInstaller

. Abra el símbolo del sistema de Visual Studio NET y vaya al directorio donde se encuentra el archivo dll EventLogSourceInstaller

. Ejecute este comando para crear EventSource InstallUtil EventLogSourceInstaller dll

Más información

Creemos una aplicación web para reproducir el error anterior y resolver el problema