2008-08-09 16 views
7

Tengo una aplicación ASP.NET para la que hemos escrito nuestro propio módulo de registro.¿Dónde debería colocar mi archivo de registro para una aplicación asp.net?

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

Saludos,

Respuesta

6

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

1

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

En cualquier caso, deberá otorgar permisos "Modificar" a la cuenta "Servicio de red" en la carpeta deseada.

Si, por otro lado, tiene acceso a un databse, luego 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á informar de los datos con bastante facilidad.

0

No estoy en posición de modificar los permisos en las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual), y aún no tengo una carpeta de datos de aplicación, así que estoy un poco indeciso de ir con eso.

Por el momento voy con la Carpeta CommonApplicationData.

  • En Vista/Server 2008 es C: \ Datos de programa \
  • En XP/Server 2003 es C: \ Documents and Settings \ All Users \ Datos de programa \
0

I No estoy en condiciones de modificar los permisos en las carpetas (especialmente fuera de la carpeta de inicio del directorio virtual), y aún no tengo una carpeta de datos de aplicación, así que estoy un poco indeciso de ir con eso.

Si tiene un sitio web, claramente tiene una carpeta en alguna parte. ¿No puedes agregar una subcarpeta (que no se encuentre en la red)? Parece que sería un lugar más apropiado para colocar los registros que colocarlos en una carpeta compartida global.

0

También podría iniciar sesión en el registro de eventos de Windows o en una tabla en una base de datos. ¿Con qué frecuencia las personas miran el registro de eventos? Si se está examinando sobre una base regular, escribir en una tabla me ayuda a informar mucho más fácilmente ya que es trivial revertir el orden y solo mostrar 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 del PowerShell o con LogParser.

+0

o con Log Parser Lizard, es una gran adición para LogParser, es compatible con la sintaxis similar a sql para casi todo, incluido el sistema de archivos. – jhexp

0

Aplicar push app_data es la mejor idea, solo tenga en cuenta que, al publicar 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 alternativa es omitir la eliminación de la carpeta app_data.

Otra opción para hacer el registro es utilizar algún marco existente como Log4net.

Cuestiones relacionadas