Вопрос об отладке бэкэнда ASP.Net и SQL Server - PullRequest
0 голосов
/ 10 июля 2011

Я получил это в интервью.

У вас есть страница asp.net с SQL-сервером.Вы запускаете страницу asp, появляется форма, вы вводите данные в поля.нажмите на кнопку отправить, и страница вернется без ошибок / исключений.

Вы просматриваете таблицу базы данных, и в соответствующих таблицах отсутствуют значения.

Как бы вы решили эту проблему?

Ответы [ 2 ]

3 голосов
/ 10 июля 2011

Существует множество способов решить эту проблему.Немногие, которые приходят на ум, будут использовать профилировщик.SqlServer имеет инструмент профилирования, который позволяет вам видеть все транзакции, выполняемые с базой данных.Я полагаю, что большинство других коммерческих баз данных имеют нечто подобное.

Вы используете asp.net, поэтому я предполагаю, что доступна Visual Studio, которая имеет богатые средства отладки для проверки вашей логики доступа к данным.* Сначала моей процедурой будет отладка моего кода и обеспечение отсутствия логических ошибок.Вероятно, я бы посмотрел на метод, который вызывает хранимую процедуру, которая вставляет данные в базу данных и гарантирует, что данные, сопоставленные с параметрами процедуры, верны.Затем я выполняю процедуру и проверяю, чтобы в моем коде не было «проглоченных» исключений.Если это пройдет, я буду уверен, что это проблема с базой данных, и я перейду к профилированию / проверке логики моей хранимой процедуры, включая отладку процедуры с использованием значения, отправляемого в процесс из кода.1006 * Надеюсь, это поможет.

1 голос
/ 02 декабря 2011

Используя Visual Studio, немного установите точку останова перед кодом, который отправляет запрос в БД.Запустите сайт в режиме отладки (легко, если вы можете использовать Cassini; в противном случае присоедините отладчик к работающему процессу IIS).При достижении точки останова выполните одношаговое выполнение и убедитесь, что отправленные параметры соответствуют ожидаемым.

Если все выглядит нормально, используйте SQL Profiler, чтобы увидеть точную команду, отправляемую в БД.Если он выглядит правильно, скопируйте и вставьте T-SQL из SQL Profiler в Management Studio и посмотрите, правильно ли он ведет себя оттуда.Если он работает должным образом в Management Studio, но не в вашем приложении, рассмотрите возможные проблемы с разрешениями для соответствующего пользователя / удостоверения SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...