asp.net mvc - Castle Windsor - How to register MVC controllers in web.config -
i use own dependency injection framework. extremely lightweight , job, looking aspect oriented programming , need better. testing castle windsor because of it's capability proxy-based runtime interception.
i wrote simple mvc application using castle windsor installing web.config , works fine. problem had register each controller individually. in application lot of controllers, become tedious.
web.config
<castle> <components> <component id="loggerinterceptor" type="mvcapp.loggerinterceptor, mvcapp" lifestyle="singleton"/> <component name="accountcontroller" type="mvcapp.controllers.accountcontroller, mvcapp" lifestyle="transient"> <interceptors> <interceptor>${loggerinterceptor}</interceptor> </interceptors> </component> <component name="homecontroller" type="mvcapp.controllers.homecontroller, mvcapp" lifestyle="transient"> <interceptors> <interceptor>${loggerinterceptor}</interceptor> </interceptors> </component> </components> </castle>
using fluent registration api method of registration, possible register of controllers in single line of code. unfortunately, defeats purpose of using runtime proxies. if want aop configuration compile code, use postsharp compile time weaving.
fluent registration api
public void install(iwindsorcontainer container, iconfigurationstore store) { container.register(classes.fromthisassembly() .basedon<icontroller>() .lifestyletransient() .configure((c => c.lifestyle.transient.interceptors<loginterceptor>()))); }
i registering controllers having in code not issue, want determine dependencies, parameters , interceptors used via config.
so ...
is there way register of controllers via web.config single component element?
or
is there way mix configurations such controllers registered via code, interceptors done in web.config?
is there way register of controllers via web.config single component element?
i guees not
is there way mix configurations such controllers registered via code, else done in web.config?
sure. let have 1 of controller depending on specific service.
can register controllers via fluent api did , register single service explicitly in config.
keep in mind register in config registered first int container.
order registration relevant in case of multiple registration same interface, not resolution itself.
Comments
Post a Comment