Pregunta

Tengo una aplicación ASP.NET para la que hemos escrito nuestro propio módulo de registro.

Mi pregunta es, ¿dónde está el lugar estándar para escribir un archivo de registro?Es decir.el sitio web se ejecutará con la identidad del usuario anónimo (p. ej.IUSR en IIS7) y necesito un lugar donde sepa que tendrá permiso para escribir.

Salud,

¿Fue útil?

Solución

Carpeta App_Data en la raíz del proyecto.No se sirve para solicitudes web;para que otras personas no puedan husmear.

Otros consejos

Sugeriría colocar el archivo de registro en un disco separado, aunque debería brindarle una pequeña ganancia de rendimiento para que no intente leer y escribir en el mismo disco que el sitio web.Si no puede colocar el archivo de registro en un disco separado, simplemente elegiría una carpeta de su elección.

En cualquier caso, tendrás que darle a la cuenta "Servicio de red" permisos de "Modificar" en la carpeta deseada.

Si, por el contrario, tiene acceso a una base de datos, registre la información allí.Será mucho más rápido que acceder al disco duro y no estará disponible públicamente.También podrá generar informes a partir de los datos con bastante facilidad.

No estoy en condiciones de modificar los permisos de las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual) y aún no tengo una carpeta App_Data, por lo que dudo un poco en hacerlo.

Por el momento voy a utilizar la carpeta CommonApplicationData.

  • En Vista/Server 2008 esto es C:\ProgramData\
  • En XP/Server 2003, esto es C:\Documentos y configuraciones odos los usuarios\Datos de programa\

No estoy en condiciones de modificar los permisos de las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual) y aún no tengo una carpeta App_Data, por lo que dudo un poco en hacerlo.

Si tienes un sitio web, claramente tienes una carpeta en alguna parte.¿No puedes agregar una subcarpeta (que no esté orientada a la web)?Parece que ese sería un lugar más apropiado para colocar sus registros que volcarlos en una carpeta compartida global.

También puede iniciar sesión en el registro de eventos de Windows o en una tabla de una base de datos.¿Con qué frecuencia la gente consulta el registro de eventos?Si se examina con regularidad, escribir en una tabla facilita mucho la generación de informes, ya que es trivial invertir el orden y mostrar solo los últimos X eventos para el período de tiempo actual.El registro de eventos de Windows también puede consultar el registro de eventos de Windows a través de Potencia Shell o con LogParser.

Enviar app_data es la mejor idea, solo tenga en cuenta que, cuando publique los proyectos, si la opción "Eliminar todos los archivos existentes antes de publicar" está marcada, los datos actuales en la carpeta desaparecerán.La solución es omitir la eliminación de la carpeta app_data.

Otra opción para realizar registros es utilizar algún marco existente como Log4net.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top