2010-03-13 2 views
0

안녕하세요, 저는 항상 내 사이트에서이 오류가 발생하며 계속해서 나를 괴롭 히고 있습니다. 나는이 오류의 원인을 파악하려고 노력했지만 실제로 파악할 수는 없습니다. 개체 참조가 개체의 인스턴스로 설정되지 않았습니다 .....?

at BasePage.Page_PreInit(Object sender, EventArgs e) 
at System.EventHandler.Invoke(Object sender, EventArgs e) 
at System.Web.UI.Page.OnPreInit(EventArgs e) at System.Web.UI.Page.PerformPreInit() 
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 

그리고 내베이스 페이지에 나는 단지이 코드를 가지고

: 스택 트레이스에 따르면


Imports Microsoft.VisualBasic 

Public Class BasePage 
    Inherits System.Web.UI.Page 

    Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit 
     Page.Theme = "Something" 
     If (Request.UserAgent.IndexOf("AppleWebKit") > 0) Then 
      Request.Browser.Adapters.Clear() 
     End If 
    End Sub 


    Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender 
     If Me.Title = "Untitled Page" Then 
      Throw New Exception("Page title cannot be ""Untitled Page"".") 
     End If 
    End Sub 

End Class 

이 항상 내베이스 페이지 preinit event.What에서 발생 당신이 생각합니까 여기

는 스택 트레이스의 여기 사람들이 문제 야?

+0

가능한 복제본 [NullReferenceException은 무엇이며 어떻게 수정합니까?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix- 그것) – stakx

답변

2

게임을 추측하는 것을 좋아합니다. 너무 재미 있습니다.

Request.UserAgent이 null입니까? 다음 값 중

+0

그래. 모든 요청 에이전트가이를 전송하는 것은 아닙니다. –

0

가능성이 하나 Nothing/null

  • Request.UserAgent
  • Request.Browser
  • Request.Browser.Adapters입니다
당신을 위해 사용하기 전에 Nothing 이러한 값을 확인해야합니다

이 예외로부터 자신을 보호하십시오.

0

정확한 라인 번호를 알기는 매우 어렵지만 MSDN 문서를 읽을 때 Request.Browser.Adapters에 대한 참조는이 속성이 인프라에 사용되므로 의미가 없으므로 문제를 일으킬 수 있습니다. 코드에서 직접 액세스 할 수 있습니다.

1

오류를 디버깅해야합니다. VS에서 프로젝트를 실행하고 Page_PreInit 메서드에 중단 점을 넣으십시오. 그런 다음 각 단계를 단계별로 실행하십시오 (F10) 그러면 오류가 발생한 위치와 이유를 파악할 수 있습니다. 또한 Ctrl + Alt + E를 사용하여 throw 된 예외를 해제 할 수 있습니다. 이렇게하면 정확한 행이 표시됩니다.

관련 문제