如何使用TinyIoC注入IPrincipal?

时间:2014-08-15 01:19:48

标签: asp.net-mvc dependency-injection tinyioc

这一行:

container.Register<IPrincipal>().UsingConstructor(() => HttpContext.Current.User);

抛出以下异常:

  

无法注册类型System.Security.Principal.IPrincipal - abstract   类或接口不是有效的实现类型   SingletonFactory。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:   Tss.Rhnncp.DietPlanner.Bootstap.TinyIoCRegistrationTypeException:   无法注册类型System.Security.Principal.IPrincipal - abstract   类或接口不是有效的实现类型   SingletonFactory。

来源错误:

Line 2663: throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory");
Line 2664:
Line 2665:  if (!IsValidAssignment(registerType, registerImplementation))
Line 2666:      throw new TinyIoCRegistrationTypeException(registerImplementation, "SingletonFactory");
Line 2667:

1 个答案:

答案 0 :(得分:0)

我不熟悉TinyIoc,但我希望你需要这样的东西:

container.Register<IPrincipal>(() => HttpContext.Current.User);