2008-12-29 4 views
12

L'exécution de WCF peut-elle être effectuée pour instancier un service via un conteneur IoC plutôt que via son processus habituel? (En outre, étant donné un conflit potentiel entre la configuration de style de vie du conteneur pour le type et InstanceContextBehavior du service, cette approche serait-elle une idée terrible?)Instanciation de service WCF via un conteneur IoC

Je suis conscient que je pourrais poser la mauvaise question tout à fait. Mon objectif est une approche AOP via des fonctionnalités d'interception de méthodes fournies par le conteneur (par exemple, méthode d'entrée/sortie, comptage des performances et limitation des appels, impliquant une logique et des dépendances que je ne veux pas implémenter). J'imagine que la WCF fournit d'autres façons d'aborder cela, donc je serais également curieux d'entendre d'autres approches recommandées.

Répondre

3

Oui, Heres implémentations utilisant à la fois ObjectBuilder et Spring.NET (et plus si vous suivez les liens!):

http://www.infoq.com/news/2008/01/wcf-di

ne peux pas commenter sur le mode de vie et l'interaction par exemple le comportement de contexte cependant. Comme pour d'autres approches spécifiques au WCF, l'utilisation du concept de comportement WCF (comme le montre l'exemple ci-dessus) peut également être utile. Il existe plusieurs types différents, Heres un point de départ:

http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

Cheers,
Matt

+0

Je ne sais pas si le support Spring est bon, mais vous ne voulez pas utiliser ObjectBuilder, sauf si vous avez vraiment de bonnes raisons de le faire. D'autres outils sont simplement beaucoup plus puissants. –

+0

Le deuxième lien a mal tourné. –

8

de réponse court - oui il peut.

S'il vous plaît jeter un oeil à Castle WCF intergration. Il vous permet d'utiliser Castle Windsor pour WCF, ce qui vous donne des capacités bien plus puissantes que l'injection de dépendances. Il est préférable d'utiliser la version de ligne found here. Il n'y a pas beaucoup de documentation à ce sujet, mais jetez un oeil aux tests. Ils sont faciles à suivre et seront un bon exemple de code pour vous. L'installation WCF vous permet de faire exactement ce genre de réflexion que vous demandez.

+0

Le lien est rompu. –

Questions connexes