2012-03-26 3 views
0

J'écris mon premier service WCF. J'ai quelques opérations qui utilisent Entity Framework - saisissant certaines données et retournant la chaîne JSON.WCF avec EntityFramework

je peux appeler les opérations avec succès en utilisant le wcfClient, mais lorsque je tente d'invoquer l'opération dans ma propre application de la console de test j'obtiens l'erreur suivante dans le constructeur de modèle d'entité:

La connexion du nom spécifié est non trouvé dans la configuration, non destiné à être utilisé avec le fournisseur EntityClient, ou non valide. Code en classe DataContract:

[DataContract] 
public class DrawSystemService : IDrawSystemService 
{ 
    public string GetDrawEntry(string entryId) 
    { 
     using (MyEntities context = new MyEntities()) 
     { 
      tblDrawEntry drawEntry = null; 
      try 
      { 
       drawEntry = context.tblDrawEntries.FirstOrDefault(e => e.DrawEntryID == new Guid(entryId)); 
      } 
      catch (Exception ex) 
      { 
      } 
      string json = JsonConvert.SerializeObject(drawEntry, Formatting.Indented); 
      return json; 
     } 
    } 
} 

code dans l'application de la console:

  WcfDrawSystemLibrary.DrawSystemService drawSystem = new DrawSystemService(); 

     drawSystem.GetDrawEntry("665B534B-73EE-4385-A9BA-02A25CB5FE4D"); 
+0

attention à affiner cela - c'est-à-dire être plus précis – tom

Répondre

1

Dans le problème général pourrait être que vous pour got d'ajouter une chaîne de connexion appropriée à votre app.config de votre application console. Prenez une copie de la chaîne de connexion de votre configuration de service et ajoutez-la à votre app.config de votre console. D'autre part, je remarque que votre service est marqué comme [DataContract] alors qu'il devrait être [ServiceContract]. Au cas où vous traitiez vraiment ce service comme DataContract, je vous suggérerais de le revoir car ce n'est pas ce qu'il devrait être.

+0

merci de répondre mosessaur. J'ai supprimé la décoration DataContract - j'avais mon interface en tant que contrat de service. J'ai ajouté la chaîne de connexion de modèle d'entité du projet de bibliothèque my wcf app.config à app.config de mon application de console et cela a fonctionné. J'essaie de simuler l'invocation pour un développeur mobile travaillant sur cette plate-forme: http://developer.appcelerator.com/question/128524/wcf-service-from-titanium-mobile-app – tom