В моем Global.asax.vb определено следующее ...
Private Sub Global_asax_BeginRequest(sender As Object, e As EventArgs) Handles Me.BeginRequest
Try
If Request IsNot Nothing Then 'this line throws an exception...
With Request
...
Ошибка ...
ОШИБКА - Global_asax: System.NullReferenceException: ссылка на объект
не установлен для экземпляра объекта.
Я немного озадачен тем, как эта конкретная строка может привести к ошибке. Все, что я пытаюсь сделать, это проверить, является ли объект пустым или пустым.
Полагаю, что когда начинается запрос, за сценой должно происходить что-то еще, но я не знаю, как его отладить дальше.
Эта ошибка возникает не каждый раз. Я просто периодически вижу эти ошибки в журналах и не знаю, как они возникают. Я не могу воспроизвести это. Поскольку я не могу получить доступ к объекту Request, я не могу получить никакой другой информации о типе запроса, который его вызывает.
обновление ...
Я попытался изменить способ доступа к свойству Request, чтобы посмотреть, будет ли оно иметь какое-либо значение ...
Public Sub Application_BeginRequest(sender As Object, e As EventArgs)
Dim app As HttpApplication = TryCast(sender, HttpApplication)
If app IsNot Nothing Then
Dim _request = app.Request
...
На этот раз, что интересно, исключение произошло в этой строке ...
Dim app As HttpApplication = TryCast(sender, HttpApplication)
Это кажется очень странным, поскольку TryCast специально предназначен для исключения исключений.
Это полная трассировка стека, которую я получаю ...
System.NullReferenceException: Object reference not set to an instance of an object.
at Global_asax.Application_BeginRequest(Object sender, EventArgs e) in C:\vs_agent\_work\4\s\...\Global.asax.vb:line 97
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Строка 97 соответствует строке TryCast.
Моя текущая теория заключается в том, что, возможно, это как-то связано с промежуточным ПО Owin