1

IUserService이 무슨 문제인지 확실하지 않습니다. 이 내 AccountController :객체 참조가 객체의 인스턴스로 설정되지 않았습니다. Unity 종속성 해결 자

private readonly ICustomMembershipProvider _membershipProvider; 

public AccountController(ICustomMembershipProvider provider) 
{ 
    _membershipProvider = provider; 
} 
//other code omitted 

CustomMembershipProvider :

public class CustomMembershipProvider : MembershipProvider, ICustomMembershipProvider 
{ 
private IUserService _userService; 

    public CustomMembershipProvider() 
     : this(DependencyResolver.Current.GetService<IUserService>()) 
    { 
    } 

    public CustomMembershipProvider(IUserService userService) 
    { 
     _userService = userService; 
    } 
//other code omitted 

나는 사용자를 등록하려고, 다음과 같은 방법이라고, 내 _userService가 null의 경우, 그것은 오류의 원인이 무엇 왜 그런 일이 일어나는지 확실하지 않습니다.

public override MembershipUser GetUser(string username, bool userIsOnline) 
{ 
    var tempUser = _userService.GetByName(username); 
//other code omitted 

다른 모든 종속 나는이 오류가 언급 있었는지 알아 내려고 여러 시간을 보냈다 때문에이 대답을 추가 성공적으로

답변

1

해결하세요. 내 프로젝트에 경고가 있었기 때문에 : Warning: Found conflicts between different versions of the same dependent assembly, 경고하지 않았으므로주의하지 않았습니다. 음, 분명히 모든 문제의 근원이었습니다. 내 Project.Services이 Mvc 4.0을 사용하는 동안 내 Project.Web이 Mvc 3.0을 사용 중이 었는데, 이것이 DependencyResolver.Current.GetService<IUserService>()이 작동하지 않는 이유입니다. 내 Project.Services을 Mvc 3.0으로 롤백 한 후 내 전체 솔루션이 매력처럼 작동했습니다! 교훈 : 경고에주의하십시오.