Ошибка «Ссылка на объект» труднее всего устранить, если вы точно не знаете, где происходит ошибка. Обязательно проверьте нулевые значения, поскольку наиболее очевидной причиной этой ошибки является объект, который не инициализируется, или переменная, имеющая нулевое значение, когда ожидается, что он будет содержать объект или значение.
Кроме того, убедитесь, что вы следуете рекомендациям по обработке ошибок. Постарайтесь перехватить ошибки на как можно более раннем уровне, если только вы не намерены позволить обработчику ошибок более высокого уровня перехватить ошибку. Тот факт, что вы получаете эту ошибку, означает, что обработка ошибок недостаточна.
Наконец, я настоятельно рекомендую включить некоторый механизм ведения журнала для ваших обработчиков ошибок. Сохраните ошибки в журнале событий или в базе данных или даже отправьте их по электронной почте - что угодно, чтобы вы могли точно определить, где находится ошибка. НЕ отображать ошибку обратно пользователю .
Есть несколько вариантов для этого. Мониторинг состояния Asp.Net отлично работает в веб-сервисах, а также на стандартных сайтах asp.net. Также есть ELMAH , или вы можете написать свой собственный код для этого.
Если вы будете следовать этим рекомендациям, вы не попадете в ситуацию, когда не поймете, как происходит ошибка. У вас будет информация, необходимая для устранения неполадок, и ваши приложения будут более надежными.