| auteur : dev01 |
Pour publier une instance particulière d'une classe il suffit de la passer au constructeur de la classe ServiceHost.
Il faut également que la classe qui remplit le contrat soit décorée avec l'attribut ServiceBehavior et définir le paramètre InstanceContextMode à Single
[ [ ServiceBehavior (InstanceContextMode = InstanceContextMode. Single)]
public class A : WcfInterface
{
private string i;
public string I
{
get
{
return i;
}
}
}
A monInstance = new A ();
ServiceHost host = new ServiceHost (typeof (A);
host. Open ();
|
Attention dans ce cas comme dans celui de l'utilisation d'un objet par appel vous devez avoir un constructeur sans argument de défini.
|
lien : System.ServiceModel.ServiceBehaviorAttribute (MSDN)
lien : Une introduction à WCF
|
| auteur : dev01 |
Afin que l'objet soit unique pour le client mais différent pour chaque client
vous devez définir plusieurs contraintes :
[ [ ServiceBehavior (InstanceContextMode = InstanceContextMode. PerSession)]
public class A : WcfInterface
{
private string i;
public string I
{
get
{
return i;
}
}
}
ServiceHost host = new ServiceHost (monInstance);
host. Open ();
|
|
lien : Une introduction à WCF
|
| auteur : dev01 |
Pour utiliser un objet qui ne sert qu'une fois pour un appel à une fonction
il faut définir ServiceBehavior avec la valeur PerCall
[ [ ServiceBehavior (InstanceContextMode = InstanceContextMode. PerSession)]
public class A : wcfInterface
{
private string i;
public string I
{
get
{
return i;
}
}
}
ServiceHost host = new ServiceHost (monInstance);
host. Open ();
|
|
lien : Une introduction à WCF
|
Consultez les autres F.A.Q's
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2010
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|