2014-06-23 149 views
2

我有同樣的問題描述here沒有答案,只是使用Unity。ASP.NET身份2 - 注入ISecureDataFormat <>

我想在最新的VS2013(update 2)SPA/Web Api模板中註冊ISecureDataFormat<>

我已經試過

container.RegisterType(typeof(ISecureDataFormat<>), typeof(SecureDataFormat<>)); 
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, SecureDataFormat<AuthenticationTicket>>(); 
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, TicketDataFormat>(); 

它「作品」,但不是真的因爲那抱怨在樹中的下depenedency,IDataSerializer ......再接下來IDataProtector,對此我沒有發現實施。

回答

10

我解決了以下錯誤SimpleInjector通過以下映射

container.Register<IDataSerializer<AuthenticationTicket>, TicketSerializer>(); 
container.Register<IDataProtector>(() => new DpapiDataProtectionProvider().Create("ASP.NET Identity")); 

要弄清楚什麼串行使用我注意到,在AccountsController的ISecureDataFormat泛型參數是一個AuthenticationTicket類型。在檢查IDataSerializer命名空間時,TicketSerializer實現了IDataSerializer。

要弄清楚IDataProtector,我再次查看了IDataProtector命名空間並找到了IDataProtectionProvider的實現。

相關問題