No se encontró la fuente, pero algunos o todos los registros de eventos no se pudieron buscar

Recibo la siguiente excepción. He dado control total a la cuenta de Asp.net en los registros de eventos en la edición del registro.

[SecurityException: no se encontró la fuente, pero algunos o todos los registros de eventos no se pudieron buscar. Registros inaccesibles: seguridad.]

System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) +664 System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109 System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41 

Supongo que esto se debe a algún problema de configuración en el servidor.

EventLog.SourceExists enumera a través de las subclaves de HKLM\SYSTEM\CurrentControlSet\services\eventlog para ver si contiene una subclave con el nombre especificado. Si la cuenta de usuario con la que se ejecuta el código no tiene acceso de lectura a una subclave a la que intenta acceder (en su caso, la subclave de Security ) antes de encontrar el origen de destino, verá una excepción como la que ha descrito.

El enfoque habitual para manejar estos problemas es registrar fonts de registro de eventos en el momento de la instalación (bajo una cuenta de administrador) y luego suponer que existen en tiempo de ejecución, permitiendo que cualquier excepción resultante sea tratada como inesperada si el origen de registro de eventos de destino no existe en realidad. en tiempo de ejecución.

Tenía la misma excepción. En mi caso, tuve que ejecutar el símbolo del sistema con derechos de administrador.

Desde el menú Inicio, haga clic con el botón derecho en Símbolo del sistema, seleccione “Ejecutar como administrador”.

Para mí, este error se debió a la solicitud del comando, que no se estaba ejecutando bajo privilegios de administrador. Debe hacer clic con el botón derecho en el símbolo del sistema y decir ” Ejecutar como administrador “.

Necesita la función de administrador para instalar o desinstalar un servicio.

Inicie la línea de comandos del desarrollador “Como administrador”. Esta cuenta tiene acceso completo al registro de seguridad

No funcionó para mí

Creé una nueva clave y valor de cadena y logré que funcione

 Key= HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\\ String EventMessageFile value=C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll 

Para mí solo funcionó iisreset (ejecuta cmd como administrador -> iisreset). Tal vez alguien podría intentarlo.

Si está realizando una nueva instalación del sitio web SenseNet TaskManagement en IIS (desde el código fuente, no WebPI), recibirá este mensaje, generalmente relacionado con la comunicación SignalR. Como señala @ nicole-caliniou, se debe a una búsqueda clave en el registro que falla.

Para resolver esto para SenseNet TaskManagement v1.1.0, primero encuentre el nombre de la clave de registro en el archivo web.config. Por defecto es “SnTaskWeb”.

    

Abra el editor de registro, regedit.exe , y navegue hasta HKLM\SYSTEM\CurrentControlSet\Services\EventLog\SnTask . Haga clic derecho en SnTask y seleccione New Key , y SnTaskWeb el nombre de la clave SnTaskWeb para la configuración que se muestra arriba. A continuación, haga clic con el botón derecho en el elemento SnTaskWeb y seleccione New Expandable String Value . El nombre debe ser EventMessageFile y los datos de valor deben ser C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll .

Palabras clave: signalr, sensenet, regedit, permisos