Отследить пользовательское действие/действия для asp.net mvc веб-сайт?

Это сводится к этому. Unix использует LF (ctrl-J), MS-DOS/Windows использует CR/LF (ctrl-M/Ctrl-J).

при использовании '\n' на Unix он переводится в символ LF. На MS-DOS/Windows это переводится в CR/LF. То, когда Ваш импорт работает на Unix, отформатировало файл, он видит только LF. Следовательно, его часто легче петлять через unix2dos сначала. Но поскольку Вы сказали в Вас исходный вопрос, Вы не хотите делать это (я предположу, что существует серьезное основание, почему Вы не можете).

, Почему не может Вы делать:

(ROWTERMINATOR = CHAR(10))

, Вероятно, потому что, когда код SQL анализируется, это не заменяет символ (10) символом LF (потому что это уже вмонтировано в корпус в одинарных кавычках). Или возможно то, что это было интерпретируемым как:

(ROWTERMINATOR =
     )

, Что происходит, когда Вы повторяете содержание @bulk_cmd?

7
задан Jim Geurts 3 October 2009 в 19:29
поделиться

3 ответа

Некоторые из подводных камней:

  1. Вы не сможете выполнять кэширование страниц на уровне сервера.
  2. Большое количество записей в БД, поскольку вы фактически регистрируете каждый запрос.
  3. Если на страницах происходят какие-либо действия, вы можете хранить избыточную информацию.

Я предполагаю, что вы реализуете это в каком-то типе настраиваемого атрибута AuthorizeAttribute, чтобы вы не кодировали его на каждом контроллере, но тогда это будет буквально каждый запрос, который будет возможно, будет больше, чем вам действительно нужно.

Рассматривали ли вы использование какой-либо утилиты анализа журналов IIS? Там уже будет много необходимой информации.

6
ответ дан 7 December 2019 в 05:25
поделиться

Другой вариант, если вы хотите использовать JavaScript, - это реализовать что-то вроде SiteCatalyst. Вы отправляете запрос с помощью JavaScript от клиента при загрузке страницы в действие контроллера с соответствующей информацией в URL-адресе. например:

www.example.com \ AnalyticsController \ Action \ currentController \ currentAction \ userName

Преимущество состоит в том, что ваше ведение журнала не выполняется последовательно со всеми вашими другими операциями, и вы, вероятно, можете заставить его работать, поместив AJAX вызов на главной странице.

Обратной стороной является то, что он использует JavaScript, который, как указано, может быть отключен. Также было бы очень легко обмануть.

2
ответ дан 7 December 2019 в 05:25
поделиться

Некоторые мысли ...

  1. Мне кажется, что одним из пунктов асктомной ссылки было правильно определить размер отката / отмены, чтобы избежать 1555-х годов. Есть ли причина, по которой это невозможно? Как он отмечает, купить диск намного дешевле, чем писать / поддерживать код для обхода ограничений отката (хотя мне пришлось сделать двойной дубль после прочтения ценника в 250 долларов для диска 36 ГБ - этот поток начался в 2002 году. ! Хорошая иллюстрация закона Мура!)
  2. Эта ссылка (Burleson) показывает одну возможную проблему с точками сохранения.
  3. На самом деле ваша транзакция находится на этапах 2, 3 и 5 во втором сценарии? Если да, то я бы сделал это - зафиксировал каждую транзакцию.
0
ответ дан 7 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: