Recibo la siguiente excepción. Le he dado control total a la cuenta de Asp.net en Eventlogs en la edición del Registro.
[SecurityException: no se encontró la fuente, pero no se pudieron buscar algunos o todos los registros de eventos. 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.
Respuestas:
EventLog.SourceExists
enumera a través de las subclaves deHKLM\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, laSecurity
subclave) antes de encontrar la fuente de destino, verá una excepción como la que ha descrito.El enfoque habitual para manejar estos problemas es registrar las fuentes de registro de eventos en el momento de la instalación (bajo una cuenta de administrador), luego asumir que existen en tiempo de ejecución, permitiendo que cualquier excepción resultante sea tratada como inesperada si una fuente de registro de eventos objetivo no existe realmente en tiempo de ejecución.
fuente
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 derecho en Símbolo del sistema, seleccione "Ejecutar como administrador".
fuente
Para mí, este error se debió al símbolo del sistema, que no se ejecutaba con privilegios de administrador. Debe hacer clic derecho en el símbolo del sistema y decir " Ejecutar como administrador ".
Necesita la función de administrador para instalar o desinstalar un servicio.
fuente
Inicie la línea de comandos del desarrollador "Como administrador". Esta cuenta tiene acceso completo al registro de seguridad
fuente
No funcionó para mí.
Creé una nueva clave y un valor de cadena y logré que funcionara
fuente
Para mí simplemente trabajé iisreset (ejecute cmd como administrador -> iisreset). Quizás alguien podría intentarlo.
fuente
Un nuevo origen de eventos debe tener un nombre único en todos los registros, incluida Seguridad (que necesita privilegios de administrador cuando se está leyendo).
Por lo tanto, su aplicación necesitará privilegios de administrador para crear una fuente. Pero eso es probablemente una exageración.
Escribí este script de PowerShell para crear la fuente del evento a voluntad. Guárdelo como
*.ps1
y ejecútelo con cualquier privilegio y se elevará solo.fuente
Recientemente experimenté el error, y ninguna de las soluciones funcionó para mí. Lo que resolvió el error para mí fue agregar el usuario del grupo de aplicaciones al grupo de usuarios avanzados en la administración de computadoras. No pude usar el grupo Administrador debido a una política de la empresa.
fuente
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 del registro
regedit.exe
, y navegue hastaHKLM\SYSTEM\CurrentControlSet\Services\EventLog\SnTask
. Haga clic derecho en SnTask y seleccioneNew Key
, y asigne un nombre a la claveSnTaskWeb
para la configuración que se muestra arriba. Luego haga clic derecho en elSnTaskWeb
elemento y seleccioneNew Expandable String Value
. El nombre debe serEventMessageFile
y los datos del valor deben serC:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
.Palabras clave: señalizador, sensenet, regedit, permisos
fuente
Si solo quiere rastrear si existe una Fuente en la máquina local pero no tiene la capacidad de obtener autorización para hacerlo, puede buscarlo en el siguiente ejemplo (VB).
Esto evita el error de seguridad. De manera similar, podría modificar esta función para devolver el LogName para la Fuente.
fuente