注入属性?
我的 asp.net-mvc 项目有一个 [Logger] 属性。 此 LoggerAttribute 在其构造函数中采用 ILoggerService。
对于常规对象(例如我的控制器),它可以工作,但属性似乎无法解析。
如何让 Turbine 注入 ILoggerService?
I have a [Logger] attribute for my asp.net-mvc projects.
This LoggerAttribute takes a ILoggerService in it's constructor.
For regular objects (e.g. my controllers) it works, but attributes don't seem to be resolved.
How can I have Turbine inject the ILoggerService?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
属性参数必须是常量表达式,因此您无法实例化要赋予属性的对象。
http://msdn.microsoft.com/en-us/library/5y0xyec6。 aspx
我要做的是要求您的控制器在其构造函数中接受 ILoggerServer 并将 Turbine 注入到控制器的构造函数中。
Attribute arguments must be constant expressions, so you cannot instantiate an object to be given to an attribute.
http://msdn.microsoft.com/en-us/library/5y0xyec6.aspx
What I would do is require your controller to accept a ILoggerServer in it's constructor and have Turbine inject into your controller's constructor.
您的 Logger 属性是 Action|Result|Error|Authorization 过滤器吗?如果是这样,您可以使用 InjectableFilterAttribute 类来指定您希望 Turbine 为您注入的过滤器类型。这样您就可以支持 ctor 注入到您的服务中。
要了解这是如何完成的,请查看过滤器注入示例< /a> 随 Turbine 一起提供。
Is your Logger attribute an Action|Result|Error|Authorization filter? If so, you can use the InjectableFilterAttribute class to specify the type of the filter you want Turbine to inject for you. This way you can support ctor injection to your services.
To see how this is done, check out the Filter Injection sample that ships with Turbine.