Voici le code C#:StructureMap 2.6 - Comment le faire dans le fichier de configuration
var server = ******* some internal logic to determine server name ****
var username = ******* some internal logic to determine user name ****
var password = ******* some internal logic to determine password ****
ObjectFactory.Initialize(x =>
{
x.For<IService<bool>>().Add<Service>()
.Ctor<string>("server").Is(server)
.Ctor<string>("username").Is(username)
.Ctor<string>("password").Is(password)
}
Cela fonctionne très bien, mais je voudrais déplacer ce dans le fichier de configuration que je ne veux pas faire référence type concerete directement dans mon code.
Il n'y a pas beaucoup de documentation sur 2.6. Je ne pouvais pas trouver comment gérer cela dans la configuration.
Idéalement, je voudrais injecter les paramètres de serveur, de nom d'utilisateur et de mot de passe dans ObjectFactory et d'autres comment utiliser ces paramètres dans la configuration.
(PS. Il n'a pas besoin nécessaire d'être avec StructureMap tout conteneur IAC qui peut soutenir ce scénario sera la bienvenue)
Merci
Si vous déplacez le mappage vers un fichier XML de configuration, vous perdrez le support de refactoring. Es-tu d'accord avec ça? –
Oui, c'est bon. Bien que ce ne soit pas idéal. Nous avons besoin de pouvoir changer l'implémentation sans recompiler le code. – Zerdush
Aussi, j'oublie de dire que cet objet Service fait partie de l'arbre, donc je ne peux pas faire ObjectFactory.GetInstance. StructureMap le résolvant automatiquement. – Zerdush