Лучший процесс аудита в asp.net c #? - PullRequest
4 голосов
/ 17 сентября 2009

Как лучше всего регистрировать действия, действия и т. Д., Выполняемые в приложении asp.net. Кроме того, какое хранилище лучше для регистрации? XML? DB?

Большое спасибо.

Ответы [ 4 ]

4 голосов
/ 17 сентября 2009

Ответ, который я ненавижу больше всего, на самом деле применим здесь: «это зависит». В частности, это зависит от нескольких вещей:

  • Для кого предназначена информация? Предназначен ли он для бизнес-пользователей (т. Е. Существуют ли реальные бизнес-требования), ориентирована ли информация на управление приложениями, требуется ли вам понимание часто используемых функций и т. Д.
  • Какова гранулярность зарегистрированной информации? Например: вам нужно только знать, использовалась ли функция поиска, вы хотите узнать поисковый запрос или вам также нужна информация о фактических результатах поиска?
  • Насколько точной и полной должна быть информация? Требования к контрольному журналу, как правило, очень строгие, а технические - зачастую меньше.
  • Хотите иметь возможность откатить действия / действия? И если да, то кто это будет делать (бизнес-пользователь, вспомогательный персонал)
  • Как выглядит ваше развертывание? Если у вас один сервер, регистрация в текстовых файлах или XML более целесообразна, чем в среде с балансировкой ферм / нагрузки.

Для ведения журналов приложений обращайтесь к известным поставщикам, таким как log4net или блок приложений журналирования Enterprise Library; оба позволяют настроить, куда вы хотите войти (текстовый файл, база данных и т. д.).
Для регистрации действий базы данных я предлагаю решение в базе данных. В нескольких версиях SQL Server 2008 имеется встроенная поддержка аудита, в течение многих лет в Oracle она была IIANM.

0 голосов
/ 17 сентября 2009

Я бы использовал: log4net

потому что вы можете настроить и изменить вывод (файл, почта, БД, ...) в файле конфигурации, чтобы вам не приходилось перестраивать код.

0 голосов
/ 17 сентября 2009

Если вам не нужна сложная система аудита, а просто регистрируется, что делает ваш код, я рекомендую вам использовать систему трассировки, интегрированную с .NET Framework и ASP.NET.

Используя в структуре очень простые классы, ваш код генерирует следы, а затем через файлы конфигурации вы можете отправлять их в различные системы хранения (файл, база данных, события Windows, ...). Вы даже можете создать свой собственный поставщик трассировки системы магазина

http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx

0 голосов
/ 17 сентября 2009

PostSharp вероятно. Вход в БД.

- Изменить:

Это для регистрации всех действий кода. Чтобы регистрировать все действия БД, я бы использовал триггеры.

...