Как я могу просмотреть утверждения текущего пользователя в трассировке ASP.NET?
Я пытаюсь отладить приложение ASP.NET MVC, которое использует версию WIF.NET 4.5 для обеспечения идентификации пользователя. Поскольку эти утверждения генерируются удаленной службой STS, специфичной для этого пользователя, трудно проверить, какие утверждения принимаются для данного пользователя в среде разработки.
То, что я хотел бы, - это механизм, который позволит мне видеть заявления пользователей, глядя через их плечо, когда они используют систему. Я сразу подумал о системе трассировки ASP.NET WebForms как об источнике информации трассировки и удобном механизме ее отображения, но я не знаю эквивалента в ASP.NET MVC.
Существуют ли какие-либо встроенные механизмы для предоставления мне этой информации во время отладки с помощью тестера?
2 ответа
Опции
Glimpse - как webform inpage trage/trace.axd на стероидах. Работает хорошо для приложений MVC, хотя мало что может предложить для веб-форм (хотя команда обещает большие вещи, это область для наблюдения).
trace.axd - здесь должен появиться вывод Trace.Write, я никогда не пытался запустить его на занятом сервере. Доступ к trace.axd должен работать для приложения mcv, но я не уверен, что трассировка inpage работает для mvc - я бы не подумал, но я никогда не пробовал.
<% "Some trace"%> - иногда я выкидываю диагностические сообщения на все экраны и помещаю их в нижний колонтитул или помещаю в нижний колонтитул, а затем делаю текст белым на белом, чтобы я мог проинструктировать пользователя о том, как его увидеть и скопировать это, но они обычно не видят это.
System.Diagnostics TraceSource и связанные классы - это лучше, чем Trace.Write, но имеет некоторые недостатки, если вы часто используете трассировку. Тем не менее, существуют сценарии, когда вы не можете предположить, что ваша любимая библиотека трассировки / регистрации будет доступна. Если бы я использовал это, я написал бы собственный прослушиватель и записал бы диагностические данные вашего пользователя в базу данных, или файл, прослушиватели для файлов уже существуют.
Log4Net - фреймворк трассировки / логирования. Поддерживает запись в различные места - консоль, базу данных, файл и т. Д. Имеет меньше недостатков дизайна, чем System.Diagnostics, но требует добавления большей зависимости от вашего приложения. Используйте так же, как System.Diagnostics - войдите в файл или базу данных и проверьте там значения STS ваших пользователей.
Мне никогда не повезло с использованием WIF или STS, но я представляю, что красивая печать объекта и его свойств одинакова практически для любого объекта. Возможно, вы захотите опубликовать вопрос WIF/STS отдельно, если вам нужно знать, как извлечь из него определенный фрагмент информации.
Хорошо - данные Trace.Write обнаруживаются в окне вывода в VS во время отладки. Может быть, это достаточно хорошо. Вы также можете добавить прослушиватель трассировки для источника трассировки System.IdentityModel, чтобы получить более полное представление об обработке токена / утверждений.