2010-03-30 8 views
1

Je souhaite utiliser les méthodes <operation>Asnyc plutôt que Begin<operation>/End<operation> sur mon proxy de client de service WCF car je mets à jour les contrôles WPF et je dois m'assurer qu'ils sont mis à jour à partir du thread d'interface utilisateur . Je pourrais utiliser la classe Dispatcher pour mettre en file d'attente des éléments pour le thread d'interface utilisateur mais ce n'est pas ce que je demande.WCF <operation> Méthodes asynchrones non générées dans l'interface proxy

J'ai configuré la référence de service pour générer les opérations asynchrones, mais elle ne génère que les méthodes dans l'implémentation du proxy , pas son interface. L'interface contient uniquement des méthodes synchrones et Begin<operation>/End<operation>.

Pourquoi ces méthodes ne sont-elles pas générées dans l'interface et existe-t-il un moyen de le faire, ou dois-je créer une interface dérivée pour les ajouter manuellement?

Répondre

0

J'ai fini par créer ma propre interface manuellement comme ceci:

public interface IMyServiceProxy : IGeneratedServiceProxy 
{ 
    void GetEntityAsync(GetEntityRequest request); 
    void GetEntityAsync(GetEntityRequest request, object userState); 
    event EventHandler<GetEntityCompletedEventArgs> GetEntityCompleted; 
} 

, puis la création d'une classe dérivée qui implémente mon interface:

public class MyServiceProxy : GeneratedServiceProxy, IMyServiceProxy 
{ 
} 

Laissez-moi savoir si quelqu'un trouve une meilleure solution.

0

Votre projet doit cibler .NET Framework 3.5 afin de générer des proxys basés sur des événements. Voir "Comment activer" section here.