J'utilise Spring.Net dans mon application Asp.Net MVC où les contrôleurs doivent être définis comme des prototypes (non singleton). J'ai des objets qui doivent avoir une portée de requête (nouvel objet pour chaque requête). Existe-t-il un moyen de les injecter dans mon contrôleur ?
<object type="xx.CompanyController, xx" singleton="false">
<property name="Service" ref="ServiceA" />
</object>
<object id="ServiceA" type="xx.ServiceA, xx" scope="request"/>
<property name="ObjectB" ref="ObjectB" />
</object>
<object id="ObjectB" type="xx.ObjectB, xx" scope="request"/>
Ainsi, tous les objets, à l'exception des contrôleurs, sont traités comme des singleton. ObjectB ne doit pas être un prototype car il est référencé par d'autres objets qui doivent partager la même instance. Supprimer singleton="false" du contrôleur et ajouter scope="request" ne fonctionne pas non plus (le contrôleur est traité comme un singleton).
J'utilise Spring.Net 1.3.1 avec MvcApplicationContext.