Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 3.5
.NET Framework
Bibliothèque de classes ....
Propriétés ServiceContrac...
 CallbackContract, propriété

  Passer à l'affichage pour faible bande passante
Cette page est spécifique à
Microsoft Visual Studio 2008/.NET Framework 3.5

D'autres versions sont également disponibles pour :
Bibliothèque de classes .NET Framework
ServiceContractAttribute..::.CallbackContract, propriété

Mise à jour : novembre 2007

Obtient ou définit le type de contrat de rappel lorsque le contrat est un contrat duplex.

Espace de noms :  System.ServiceModel
Assembly :  System.ServiceModel (dans System.ServiceModel.dll)
Visual Basic (Déclaration)
Public Property CallbackContract As Type
Visual Basic (Utilisation)
Dim instance As ServiceContractAttribute
Dim value As Type

value = instance.CallbackContract

instance.CallbackContract = value
C#
public Type CallbackContract { get; set; }
VisualC++
public:
property Type^ CallbackContract {
    Type^ get ();
    void set (Type^ value);
}
J#
/** @property */
public Type get_CallbackContract()
/** @property */
public  void set_CallbackContract(Type value)
JScript
public function get CallbackContract () : Type
public function set CallbackContract (value : Type)

Valeur de propriété

Type : System..::.Type
Type qui indique le contrat de rappel. La valeur par défaut est nullNothingnullptrune référence null (Nothing en Visual Basic).

Spécifiez une interface dans la propriété CallbackContract qui représente le contrat opposé requis dans un échange de messages bidirectionnel (ou duplex). Cela permet aux applications clientes d'écouter les appels d'opération entrants que l'application de service côté serveur peut envoyer indépendamment des activités clientes. Les contrats de rappel qui ont des opérations unidirectionnelles représentent les appels du service que le client peut gérer.

ms575923.alert_note(fr-fr,VS.90).gifRemarque :

L'attribut ServiceContractAttribute est ignoré sur les contrats de rappel. Pour configurer le comportement d'exécution des objets de rappel, utilisez la System.ServiceModel..::.CallbackBehaviorAttribute.

L'exemple de code suivant présente un service qui spécifie un contrat de rappel. Il indique qu'un service de type IDuplexHello doit avoir un correspondant qui implémente un service de type IHelloCallbackContract. De plus, IHelloCallbackContract implémente une méthode de rappel unidirectionnelle, ce qui permet au service d'appeler le client sans attendre une réponse pour prendre en charge un client distribué et piloté par des événements.

C#
using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Threading;

namespace Microsoft.WCF.Documentation
{
  [ServiceContract(
    Name = "SampleDuplexHello",
    Namespace = "http://microsoft.wcf.documentation",
    CallbackContract = typeof(IHelloCallbackContract),
    SessionMode = SessionMode.Required
  )]
  public interface IDuplexHello
  {
    [OperationContract(IsOneWay = true)]
    void Hello(string greeting);
  }

  public interface IHelloCallbackContract
  {
    [OperationContract(IsOneWay = true)]
    void Reply(string responseToGreeting);
  }

  public class DuplexHello : IDuplexHello
  {
    public DuplexHello()
    {
      Console.WriteLine("Service object created: " + this.GetHashCode().ToString());
    }

    ~DuplexHello()
    {
      Console.WriteLine("Service object destroyed: " + this.GetHashCode().ToString());
    }

    public void Hello(string greeting)
    {
      Console.WriteLine("Caller sent: " + greeting);
      Console.WriteLine("Session ID: " + OperationContext.Current.SessionId);
      Console.WriteLine("Waiting two seconds before returning call.");
      // Put a slight delay to demonstrate asynchronous behavior on client.
      Thread.Sleep(2000);
      IHelloCallbackContract callerProxy
        = OperationContext.Current.GetCallbackChannel<IHelloCallbackContract>();
      string response = "Service object " + this.GetHashCode().ToString() + " received: " + greeting;
      Console.WriteLine("Sending back: " + response);
      callerProxy.Reply(response);
    }
  }
}

Windows Vista, Windows XP SP2, Windows Server 2003

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0
Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation  |  Marques  |  Confidentialité
Page view tracker