2011-07-14 1 views
3

Je me suis préparé pour l'examen MS 70-513 et avec le contenu du kit de formation auto-rythmé il y a quelques tests de pratique.Quel est le comportement par défaut pour l'instanciation des objets de service dans WCF?

Ce qui suit est une question de ces tests que je demande à quelqu'un d'expliquer. La réponse correctement marquée est A, mais je ne comprends pas pourquoi D n'est pas la bonne.

Question:

Quel est le comportement par défaut pour les objets de service instanciation dans WCF?

A - Chaque instance est associée à un objet de service défini par l'utilisateur. B - Chaque instance gère toutes les demandes pour la durée de vie de l'application requérante.

C - Une nouvelle instance est créée pour chaque requête client.

D - Une nouvelle instance est créée pour chaque nouvelle session client.

Thakns à l'avance, Bruno

Répondre

3

J'ai reçu une réponse de msdn forums, je suppose que j'en suis convaincu.

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2e35729f-603a-4a52-a3b7-920c9f3a8100/

Citant la réponse:

C'est une délicate un - je suppose que la raison D n'est pas vrai est que pas chaque client crée une session. Par exemple basicHttpBinding ne prend pas en charge les sessions . Donc, si vous n'avez pas toujours une session - D n'est pas toujours vrai. Cependant, est toujours vrai (sauf si vous créez votre propre comportement personnalisé) parce que chaque objet InstanceContext enveloppe un seul objet de service défini par l'utilisateur (un objet créé en fonction de votre type de service )

0

Je pense D est correct aussi bien, par défaut (link) depuis InstanceContextMode est réglé sur PerSession.

+0

C'était exactement ce que je pensais! – Bruno

2

Il est PerSession

http://msdn.microsoft.com/en-us/library/ms733040.aspx

Si vous utilisez le comportement de l'instanciation par défaut dans WCF, tous les appels entre un objet client WCF sont gérées par la même instance de service. Par conséquent, au niveau de l'application, vous pouvez considérer une session comme un comportement d'application similaire au comportement d'appel local. Par exemple, lorsque vous créez un objet local: Un constructeur est appelé. Tous les appels suivants faits à la référence d'objet client WCF sont traités par la même instance d'objet. Un destructeur est appelé lorsque la référence de l'objet est détruite. Les sessions activent un comportement similaire entre les clients et les services tant que le comportement de l'instance de service par défaut est utilisé. Si un contrat de service requiert ou prend en charge des sessions, une ou plusieurs opérations de contrat peuvent être marquées comme initiant ou terminant une session en définissant les propriétés IsInitiating et IsTerminating.

Questions connexes