내 Web API 프로젝트에서 Simple Injector에 문제가 있습니다. VS에서 생성 한 사용자 기본값은 AccountController
입니다. 내 구성 파일에서간단한 인젝터 및 기본 AccountContoller 종속성 문제
public AccountController(ApplicationUserManager userManager,
ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
I 등록 :
var container = new Container();
// This is an extension method from the integration package.
container.RegisterWebApiFilterProvider(config);
container.RegisterWebApiControllers(config);
container.Register<IInitializeService, InitializeService>();
container.Register<IFolderRepository, FolderRepository>();
container.Register<IUserRepository, UserRepository>();
container.Register<ILogger, Logger>();
//Authentication Wrap
container.Register<IUserStore<User, Guid>, ApplicationUserStore>();
container.Register<IDataSerializer<AuthenticationTicket>, TicketSerializer>();
container.Register<ISecureDataFormat<AuthenticationTicket>,
SecureDataFormat<AuthenticationTicket>>();
container.Register<IDataProtector>(
() => new DpapiDataProtectionProvider().Create("ASP.NET Identity"));
container.Verify();
// 4. Register the container as MVC3 IDependencyResolver.
DependencyResolver.SetResolver(new SimpleInjectorWebApiDependencyResolver(container));
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
나는 그 간단한 인젝터 모두가 기본 ID에 대한 책임 의존성에 구축하고 난 못해 수동으로 등록해야 처리 할 수있을만큼 스마트 될 것입니다하지만,하지만, 등록하지 않으면 예외가 생깁니다.
형 SecureDataFormat의 생성자가 등록되지 않은 이름 '인코더'와 형 ITextEncoder의 매개 변수를 포함
은 여전히 예외를 받고. ITextEncoder가 컨테이너에 등록되어 있는지 확인하거나 SecureDataFormat의 생성자를 변경하십시오.
자동으로 처리 할 수있는 방법이 있습니까?
관련 작동 : https://stackoverflow.com/questions/26643407/simple-injector-injecting-isecuredataformat-into-accountcontroller – Steven