Подтвердить что ты не робот

Когда Request.Url может быть нулевым?

В моем коде контроллера я использую: Request.Url.<Something>. ReSharper предполагает, что Request.Url может быть нулевым.

Итак, , когда точно может Request.Url быть нулевым? Я не говорю о тестировании, меня интересует только приложение, которое находится в прямом эфире/уже развернуто.

Обратите внимание: я не получил NullReferenceException от использования Request.Url до этой точки.

4b9b3361

Ответ 1

HttpRequestBase - это класс, и ReSharper рассматривает его как действительный класс, не более (теоретически он может быть null). Поэтому он не анализирует использование этого конкретного класса.

В действительности, я думаю, что Request.Url никогда не будет null, поэтому просто игнорируйте ReSharper в этом случае.

Ответ 2

Фактически a NullReferenceException может возникать при использовании Request.Url. Когда вы создаете свой собственный класс базового контроллера, из которого производятся другие классы, Request будет иметь значение null. Или, используя ActionMailer с ASP.NET MVC, вам придется создать класс контроллера, который происходит от MailerBase (что также приводит к тому, что Request внутри этого контроллера имеет значение null).

Альтернатива: используйте HttpContext.Current.Request или проверьте, не имеет ли значение Request.