2010-12-10 25 views
1

J'ai un service WCF et quand je l'appelle la chaîne revient null et je ne comprends pas pourquoi!Méthode de service WCF renvoyant null

c'est le code d'appel:

new Thread(() => 
      { 
       string returned = _client.Service.GetString(); 
       this.Dispatcher.BeginInvoke((Action)(() => MessageBox.Show(returned))); 
      }).Start(); 

C'est la mise en œuvre du service:

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single)] 
class MyService: ServiceBase, IMyService 
{ 
    public string GetString() 
    { 
     return "Returned"; 
    } 

Et ceci est l'interface:

[ServiceContract] 
public interface IMyService: IServiceBase 
{ 
    [OperationContract] 
    string GetString(); 
} 

Le code d'appel est tout simplement revenir avec null mais le client se connecte au service, est-ce que je manque quelque chose?

+0

peut vous envoyer le code qui montre ce _client est? –

+0

Je ne peux pas éditer pour le moment mais _client.Connect() est appelé qui crée le channelfactory et bindingelements et appelle CreateChannel() et fonctionne bien tant que ive l'a testé! – Grace

Répondre

1

Si vous ne l'avez pas déjà fait, vous pouvez configurer le suivi pour WCF et extraire beaucoup des fichiers journaux. Ne sachant pas exactement à quoi ressemble la config ou comment _client est construit, je ne peux pas dire ce qui ne va pas. Le code que vous avez posté ici semble fonctionner correctement.

<configuration> 
    <system.diagnostics> 
     <sources> 
      <source name="System.ServiceModel" 
        switchValue="Information, ActivityTracing" 
        propagateActivity="true"> 
      <listeners> 
       <add name="traceListener" 
        type="System.Diagnostics.XmlWriterTraceListener" 
        initializeData= "WcfTraces.svclog" /> 
      </listeners> 
     </source> 
     </sources> 
    </system.diagnostics> 
</configuration> 

Ajouter ceci à votre app.config ou web.config va créer un fichier WcfTraces.svclog dans le même répertoire que le fichier de configuration avec toutes sortes de données. Vous devriez être en mesure de double-cliquer sur le fichier journal pour l'ouvrir avec le Microsoft Service Trace Viewer.

Configure WCF Tracing

+0

Je l'ai fait et rien ne s'est avéré être une erreur. J'ai changé la méthode pour retourner un objet que j'ai créé au lieu de la chaîne et cela a fonctionné un régal! Bizarre! – Grace