2010-08-13 3 views

Répondre

3

Si vous voulez dire, "comment me connecter à ce service Web?" vous devrez créer un projet Visual Studio (je suppose VS2k8 ici), que ce soit la console d'application, Windows Forms, ou à peu près tout autre

  1. Faites un clic droit sur « Références » dans la solution Explorer et choisissez « Ajouter un service de référence ... »
  2. Entrez l'adresse que vous avez trouvé votre service à dans la zone adresse
  3. Cliquez sur « GO »
  4. Choisissez le service concerné dans la zone « services »
  5. Choisissez un espace de nom pour la zone "Namespace"
  6. Appuyez sur OK

Visual Studio va maintenant générer un proxy de service pour vous. Si vous avez choisi votre espace de noms, par exemple « MyNamespace », puis dans Visual Studio, vous pouvez ajouter dans votre code:

using (var client = new MyNamespace.UserService()) 
{ 
    var result = client.GetPassword(); 
} 
+0

Mais j'utilise Silverlight :) ... client.GetPasswordAsync() ... et sa fonction ne retourne pas une valeur –

+1

Eh bien, c'est parce que vous appelez la version Async de la méthode. Vous devrez ajouter un gestionnaire d'événement à la méthode 'client.GetPasswordCompleted' car le résultat sera dans' e.Result' car les méthodes asynchrones ne renvoient pas directement leur résultat (1) et bloquez l'exécution de votre code jusqu'à ce qu'ils soient terminés. – Rob

+0

Non. Je n'ai pas trouvé e.Result propetry :(Je prends une capture d'écran http://img205.imageshack.us/img205/4241/screenss.png Image de mon IDE –

1

J'espère que vous voulez câbler un service ASMX à votre application Silverlight. Si c'est le cas, vous pouvez jeter un oeil à ce blog.

Bien que j'aie utilisé un service WCF dans mon blog, le câblage d'un service vers une application Silverlight est une seule et même chose. Suivez les étapes du blog pour ajouter le service ASMX en tant que ServiceReference.

Essayez ce code sur le côté client

private void Connect2Service() 
{ 
    ServiceReference.UserServiceClient client = new ServiceReference.UserServiceClient(); 
    client.GetPasswordCompleted += 
      new EventHandler<GetPasswordCompletedEventArgs>(client_GetPasswordCompleted); 
    client.GetPasswordAsync(); 
} 

private void client_GetPasswordCompleted(object sender, GetPasswordCompletedEventArgs e) 
{ 
    // Textblock will show the output. In your case "123" 
    textblock.Text = e.Result; 
} 
+0

Merci beaucoup. Cela fonctionne ... –

+0

S'il vous plaît marquer comme réponse, de sorte qu'il aide les autres aussi. Merci –

+0

cela fonctionne très bien sur le thread UI pour faire des modifications de l'interface utilisateur. Mais que faire si je veux utiliser PCL ?? Comment obtenir la valeur de 'e.Result' et la renvoyer à' Connect2Service' ?? – Rohit

Questions connexes