tiwal Ответов: 1

Исключение нулевой ссылки, вызывающее статический метод в классе


Привет

У меня есть многопроектное веб-приложение, которое вызывает в своем Global.asax статический метод класса.
Этот вызов генерирует исключение нулевой ссылки. Исключение вызвано (насколько я знаю) не чем-то внутри самого метода , а просто вызовом метода (я предполагаю это просто на том основании, что, поставив точку останова в самую первую строку метода, точка останова никогда не будет достигнута).
У меня есть
<compilation debug="true" 
настройка в разделе <system.web> Веб-приложения web.config.
Может ли это быть связано с тем, что класс, статический метод которого я пытаюсь вызвать, объявлен в другом проекте (в том же решении), что и вызывающий проект ?
Может быть, что-нибудь связанное с конфигурацией отладки ?

Это существенная часть кода :

web application solution

web application project (Global.Asax.cs):

using BLL;
namespace Agenda2
{

 public class MvcApplication : System.Web.HttpApplication
 {
      ......................................
      protected void  SessionStart ()
      {
         BLL_Configuration.readParameter() ;

         ..................          
      }
      ......................


 }

}
Business Logic Project :

namespace BLL
{
public class BLL_Configuration {

       public static void readParameter()
       {
            .........
       }

}


Что я уже пробовал:

Пробовал комментировать любой код в вызываемом методе

OriginalGriff

Ответ обновлен.

1 Ответов

Рейтинг:
0

OriginalGriff

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

И извините - но мы не можем сделать это для вас!

Цитата:
Я действительно достигаю вызова метода (то есть
BLL_Configuration.readParameter() ;

линия);
всякий раз, когда я пытаюсь войти или перешагнуть, я получаю исключение.
Кстати , если я поставлю точку останова в первой строке кода
из
readParameter
метод, это никогда не достигается.


Так что проверь три вещи:
1) Существует ли статический конструктор для класса BLL_Configuration? Если да, то остановите это.
2) содержит ли класс BLL_Configuration какие-либо статические переменные с начальными значениями? Зависит ли что-нибудь из этого от других вещей? Может ли кто-нибудь из инициализаторов создать исключение?
3) включает ли исключение информацию о файле и / или строке? Обычно так и бывает...

Помните, что статическая инициализация будет происходить до вызова любого статического метода, поэтому очень вероятно, что проблема где-то там.