我的Web Api項目中的簡單噴油器出現問題。我用戶默認AccountController
由VS生成。簡單的噴油器和默認的AccountContoller依賴項問題
public AccountController(ApplicationUserManager userManager,
ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
在我的配置文件我註冊:
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);
我雖然是簡單的噴油器將是足夠的智慧來處理所有建設負責默認標識的依賴性,而我不會需要手動註冊它們,但如果我不註冊他們,我會收到例外。
仍然得到一個例外:
型SecureDataFormat的構造函數包含未註冊名稱「編碼器」類型ITextEncoder的參數。請確保ITextEncoder已在容器中註冊,或更改SecureDataFormat的構造函數。
有沒有辦法自動處理?
相關:https://stackoverflow.com/questions/26643407/simple-injector-injecting-isecuredataformat-into-accountcontroller – Steven 2014-11-03 12:50:24