"사용자 서비스"클래스를 만들려고합니다.이 곳에서이 방법을 사용해야합니다. 이 방법 중 하나는 FindById입니다.ID로 사용자를 찾을 수 없음
이using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security.DataProtection;
public interface IUserService : IDisposable
{
Task<CustomUser> FindByIdAsync(string userId);
ICustomUser FindById(string userId);
}
public class UserService : UserManager<CustomUser>, IUserService
{
public UserService(IUserStore<CustomUser> store, IDataProtectionProvider dataProvider)
: base(store)
{
UserValidator = new UserValidator<CustomUser>(this)
{
AllowOnlyAlphanumericUserNames = false,
RequireUniqueEmail = true
};
PasswordValidator = new PasswordValidator
{
RequiredLength = 8,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
};
UserLockoutEnabledByDefault = true;
DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(1);
MaxFailedAccessAttemptsBeforeLockout = 5;
var dataProtectionProvider = dataProvider;
if (dataProtectionProvider != null)
{
UserTokenProvider =
new DataProtectorTokenProvider<CustomUser>(dataProtectionProvider.Create("ASP.NET Identity"));
}
}
public new async Task<ICustomUser> FindByIdAsync(string userId)
{
return await base.FindByIdAsync(userId);
}
public ICustomUser FindById(string userId)
{
return base.FindById(userId);
}
}
FindByIdAsync 방법은 좋은, 그러나 findById 메소드 방법도 컴파일되지 않습니다 작품 : 여기 내 코드입니다. 내 자동 완성이 방법이 있음을 시사한다,하지만 난 그것을 입력 할 때, 그것은 빨간색이되고 말한다 :
Microsoft.AspNet.Identity.UserManager이
무엇 오전 findById 메소드
에 대한 정의를 포함하지 않는 내가 잘못하고있어?편집 :
findById 메소드는 UserManagerExtensions (https://msdn.microsoft.com/en-us/library/dn497471(v=vs.108).aspx 참조)에서 비롯됩니다. 확장 클래스를 어떻게 든 확장해야한다는 의미입니까? 내가 실제로하려고하는 것은 IUserService 인 인터페이스를 통해이 메서드를 사용할 수 있도록 허용하지만 거기에 참조를 추가하면 위에서 볼 수있는 것처럼 거의 성공하지 못하도록 시도한 메서드를 구현해야합니다.
왜 downvote입니까? – Bojan
항상 그렇듯이주의를 기울이면 가장 큰 도움이됩니다.이 오류는 findbyid가 없음을 알려줍니다. 그리고 그렇지 않습니다. MSDN을 참조하십시오. https://msdn.microsoft.com/en-us/library/dn613290(v=vs.108).aspx –
@trailmax FindByIdAsync 메서드가 제대로 작동합니다. FindById 메서드를 작동 시키려고합니다. – Bojan