2016-09-29 2 views
0

, 내가User.Identity.Name 던져 개체 참조가 인스턴스로 설정되지 않았습니다

Anonymous Authentication : Disabled 
Windows Authentication : Enabled 

이 그리고 내가

Object reference not set to an instance 
을 얻고 내 IIS 개발 설정에서이 코드

public UserProfile spUserProfileGet() 
     { 
      // this line throw : Object reference not set to an instance 
      var user = HttpContext.Current.User.Identity.Name; 

      //... 

     } 

왜 그럴까요? 이전에 많은 프로젝트에서 문제없이이 클래스를 사용하고 있습니다./

HttpContext.Current.UserNULL이지만 그 이유는 무엇입니까?

+1

[NullReferenceException은 무엇이며 어떻게 수정합니까?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – DavidG

+0

예, User 객체는 NULL이지만 그 이유는 무엇입니까? – Muflix

+0

중복 된 질문을 읽으면 정확하게 알 수 있습니다. – DavidG

답변

0

문제는 아직까지이 객체를 포함하지 않은 Application_BeginRequest()의 global.asax HttpContext.Current.User입니다. 여기에 응용 프로그램 수명주기 https://msdn.microsoft.com/en-us/library/ms178473.aspx에 대한 설명이 있으며 코드를 Application_PostAuthenticateRequest에 복사하면 작동합니다.

남아있는 문제는 Application_PostAuthenticateRequest이 두 번 트리거된다는 것입니다.