Можно ли быть asp.net httprequest когда -нибудь быть нулевым? Как насчет CurrentExecutionFilePath?
-
22-08-2019 - |
Вопрос
Мы получаем странную ошибку на производственном сервере. У нас есть трассировка стека, но нет номеров строк, поэтому я знаю метод, где ошибка, но не точная строка. Это жалуется на «ссылку на объект, не установленную на экземпляр объекта». Что -то ноль.
Посмотрев на код, только два потенциальных виновника, которые я вижу, - это две последовательные строки, которые читают:
string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');
который бросил бы, если запрос был нулевым, или если текущий образец запроса был нулевым. Мне не очень ясно, когда (или даже если) это может произойти. Я лаю здесь не то дерево? (Этот код, похоже, работает во время загрузки жизненного цикла страницы).
Решение
У вас есть выход PDB для вашего выпуска?
Если вы это сделаете, вам нужно только развернуть PDB на своем производственном сервере, чтобы получить номера строк в трассировке стека.
(PDB и DLL должны соответствовать)
Другие советы
Запрос и/или httpcontext могут быть нулевыми, если вы запустите потоки из вашего первого. (Асинхронная обработка и т. Д.)
Как ни странно, я видел нулевую ошибку httprequest (много) на производственном сервере, даже не имея возможности выяснить причину.
Я знаю, что это бесполезно для вас, но я просто пишу из солидарности :)
Одна потенциальная вещь, которую я наполовину помню, заключалась в том, чтобы IIS не отображает корень с /default.aspx, но опять же, это было все давно, поэтому, пожалуйста, не обращайте слишком много внимания на эти мощные бесполезные пробуждения !!!