Kikuts
Messages postés159Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention 5 novembre 2010
-
6 août 2009 à 15:29
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
17 août 2009 à 20:15
Bonjour ! J'ai besoin d'aide pour un retour expérience ! Je m'explique : j'ai une application silverlight qui communique avec une base de données SQL SERVER via un web service.
Dans ce web service, j'utilise LINQ pour manipuler la base de données.
J'ai pourtant un soucie : une requête de base ne marche pas :
DBDataContext dbc = new DBDataContext();
var sql = from m in dbc.MEDECIN select m;
return sql.ToList();
Alors que celles ci fonctionnent :
var sql = from m in dbc.MEDECIN
where m.MED_NOM != ""
select new ListeMedecins
{Nom m.MED_NOM ,Prenom m.MED_PRENOM ,Tel = m.MED_TEL ,Ville = m.MED_VILLE ,Specialite = m.MED_SPECIALITE };
ou encore
List<CENTRE> WCF_IServices.GetCentres()
{
DBDataContext dbc = new DBDataContext();
var sql = from c in dbc.CENTRE select c;
return sql.ToList();
}
Mon appel de service est identique pour les 3fonctions seul le nom change mais globalement j'ai partout :
Service.GetCentresCompleted += ...(xxx);
Service.GetCentresAsync();
puis la méthode xxx(sender,e) {...}
Je ne vois aucune erreur :( c'est vrai elle est toute simple snif.
J'ai l'erreur suivante :
"Le serveur n'a pas donné de réponse pertinente. ceci peut être généré par des contrats qui ne correspondent pas, un arrêt prématuré du serveur ou une erreur interne du serveur."
Kikuts
Messages postés159Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention 5 novembre 2010 12 août 2009 à 09:25
Salut bidou,
Non je n'utilise pas l'architecture REST. Ni RIA .NET (j'ai éssayé mais je devais avancer et j'avais des problèmes pour le mettre sur mon serveur même si en locale tout marché bien)
Non je ne fais pas ces requêtes dans silverlight. Mais niveau serveur. En effet, côté SL, par exemple dans l'evenement OnNavigate, j'abonne mon instance de service comme il faut (si tu regardes l'image, un coup cela fonctionne très bien, l'autre non)
J'ai un projet Services_WCF dans ma solution qui contient le schéma de la base, une classe interface IServices et le services.svc. Avant la classe Iservices était dans un autre projet mais je l'ai mis avec services.svc pour ne pas avoir trop de dossier ni fichier à gérer.
Merci Bidou d'essayer de m'aider c'est gentil. Si tu as besoins d'autres éléments, des morceau de code etc je viens régulièrement lire les posts.
++
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 13 août 2009 à 19:00
Tu as généré le client avec svcutil ou bien avec l'interface graphique?
Est-ce que tu es certain que les données transittent correctement? (regarde avec Fiddler ce qui arrive).
Si tu mets un breakpoint dans le code, juste avant l'affichage, est-ce que le contenu des objets est correct à ce stade? L'erreur est déclenchée sur quelle méthode? (stacktrace?)
Kikuts
Messages postés159Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention 5 novembre 2010 14 août 2009 à 10:58
L'interface graphique. Cela change t il quelque chose ?
Bien sur que les données transittent : comme tu peux le constater, sur le screen, je commence par faire un appel sur une table CENTRE puis sur la table MEDECIN. La première me retourne toute la table, la seconde rien.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 15 août 2009 à 22:51
Est-ce que tu es sûr que ça retourne rien?
C'est pas parce que rien n'est affiché dans ton interface graphique que rien n'a été retourné... l'erreur peut se trouver par exemple au moment de l'affichage.
C'est pour cela que je te propose d'utiliser Fiddler (ou équivalent) qui te permettra de voir ce qui transite réellement sur le réseau... Tu pourras ainsi déterminer si l'erreur est faite côté client ou server.
Si tu détermines que c'est bien la requête linq qui pose problème, essaye de créer un projet à côté, et teste uniquement ta requête linq. Ca te permettra de savoir si c'est la requête elle-même qui coince, ou si c'est un élément extérieur qui fait foirer la requête!