Je vois des tonnes de matériel sur la façon d'injecter des services en utilisant le ControllerBuilder.Current.SetControllerFactory
mais si je voulais résoudre mes services dans le modèle? Devrais-je les obtenir du contrôleur et les transmettre?ASP.NET MVC Unity - Injection à la couche du modèle
1
A
Répondre
1
Idéalement, vous ne devriez pas injecter de services dans le modèle car cela vous obligerait à enregistrer votre modèle avec le conteneur.
Si vous devez utiliser un service dans une instance de modèle, passez le service en tant qu'argument de méthode, puis vous pouvez injecter le service dans le contrôleur.
Sans savoir plus sur le scénario, il est difficile de donner des indications plus claires, mais les grandes lignes suivantes peuvent aider:
public interface IService
{
// ... describe the contract the service must fulfill
}
public class Model
{
public void DoSomething(IService service)
{
// ... do the necessary work using the service ...
}
}
public class AController : Controller
{
private readonly IService _injectedService;
public AController(IService injectedService)
{
_injectedService = injectedService;
}
public ActionResult SomeAction(int modelId)
{
// ... get the model from persistent store
model.DoSomething(_injectedService);
// ... return a view etc
}
}
Questions connexes
- 1. Injection de dépendance avec Unity et ASP.NET MVC
- 2. asp.net MVC HTML injection
- 3. État du modèle ASP.NET MVC
- 4. Comment effectuer une injection de propriété avec Unity et asp.net mvc sur des filtres d'action?
- 5. Créer couche de service en asp.net mvc
- 6. ASP.NET MVC et Unity 1.2 Container question
- 7. Aide et injection de dépendance ASP.NET MVC
- 8. ASP.Net MVC Personnalisation du modèle Reliure
- 9. Injection de propriété de programme avec Microsoft Unity
- 10. Reliure modèle ASP.NET MVC
- 11. asp.net modèle mvc manquant
- 12. Modèle MVC + modèle DDD
- 13. Setter/injection de propriété dans Unity sans attributs
- 14. Validation d'une partie du modèle dans MVC
- 15. subsonic asp.net Modèle d'objet d'architecture de couche 3
- 16. Injection de dépendance ASP.NET MVC avec l'état de session UnityContainer
- 17. Injection de politique avec les contrôleurs ASP.NET MVC
- 18. Constructor injection de dépendances dans un contrôleur ASP.NET MVC
- 19. Injection de dépendances de référentiel modèle - est-ce un singleton?
- 20. Injection de cohérence: injection d'objets partiellement initialisés
- 21. ASP.NET: couche de données indépendantes accses couche
- 22. ASP.Net MVC Simple Modifier les données du modèle par défaut
- 23. Problèmes de validation de l'état du modèle asp.NET MVC
- 24. Mises à jour de couche de service ASP.NET MVC avec LINQ
- 25. ASP.NET MVC - Comment obtenir des enregistrements aléatoires du modèle?
- 26. Avantages de l'utilisation de ASP.NET MVC Controller Injection?
- 27. Modèle d'interface utilisateur ASP.NET MVC DropDownList
- 28. Pratiques de modèle MVC (asp.net mvc) - Génération d'URL à l'action, au lieu de la vue
- 29. ASP.NET MVC - Intellisense ne met pas à jour le modèle
- 30. Quelle couche MVC doit définir cette valeur?
Un petit point est que beaucoup (la plupart?) Des conteneurs ces jours-ci ne nécessitent pas enregistrement explicite de conteneur avant de résoudre une classe concrète hors du conteneur. Donc, vous pourriez théoriquement résoudre la classe "Model" si cela dépendait de IService. –