我正在为我的Web api项目使用简单的注入器。我有一个需要会话令牌才能实例化的服务。
public class CustomerService
{
public CustomerService(Auth auth, IRepositoryFactory repositoryFactory)
{
// make post call to another web api for validation
SomeWebApiCallToValidateAuth.vaildate(auth);
}
}
因此,对于此服务,它需要一个auth令牌和一个repositoryFactory。我希望它能够注入auth参数(来自http Web请求),并同时使用注册到容器的指定已实现多数民众赞成解决存储库工厂。
但是我不确定如何在简单的注射器上注册它,或者是否有解决方法。任何帮助都会很棒。谢谢。
您当前的方法有几个缺点:
关于工厂:注入IRepository
而不是IRepositoryFactory
。这可能需要你躲在代理真实的版本库,作为解释在这里。
关于Auth
价值,这取决于需求,但如果Auth
值是的一个重要组成部分API
的CustomerService
,这证明了加Auth
作为方法的参数CustomerService
。如果它是实现细节,请注入某种IAuthProvider
抽象,以便您在运行时(建立对象图之后)检索值。同样,这一切都在说明这篇文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句