Je travaille avec un autre codeur sur un site Web qui accède à SQL Server (2008 Express) via certains services Web qu'il a créés (impliquant principalement LINQ to SQL), et l'interface utilisateur est dans Silverlight. J'ai travaillé sur une autre partie du système, mais je viens d'obtenir son dernier code, et j'essaie de l'exécuter sur ma machine, mais je reçois une erreur.CommunicationException sur le rappel asynchrone du service Web appelé depuis l'application Silverlight
Il est un CommunicationException sur une ligne dans le fichier reference.cs, la méthode EndXXX du service Web:
// This is for a Ping method we created just to trouble shoot- it behaves the same.
public string EndPing(System.IAsyncResult result) {
object[] _args = new object[0];
// Next line throws Communication Exception
string _result = ((string)(base.EndInvoke("Ping", _args, result)));
return _result;
}
Le message d'erreur est:
« Une erreur est survenue en essayant de faire une demande d'accès à l'URI 'http://localhost:1233/SummitService.svc'. Cela peut être dû à la tentative d'accès à un service de manière interdomaine sans l'application d'une stratégie interdomaine appropriée ou d'une stratégie inappropriée pour les services SOAP. propriétaire du service pour publier un fichier de régulation interdomaines et pour s'assurer qu'il autorise l'envoi d'en-têtes HTTP liés à SOAP. S'il vous plaît voir l'exception interne pour plus de détails. "
La pile entière est sur ma machine locale, donc je ne devrais pas avoir besoin de faire des appels inter-domaines. Nous avons examiné tout le code de configuration que nous pourrions trouver (web .config, ServiceReferences.ClientConfig), pour changer toutes les références à sa machine à la mienne.Nous sommes tous deux assez nouveau à toutes ces technologies, nous avons donc couru à la fin de nos connaissances. cloches pour tout le monde?
MISE à JOUR
J'ai donc effectué quelques opérations de dépannage, et j'ai découvert que si j'entre l'adresse localhost de la page aspx qui commence tout ça, ça se charge bien, et je vois les données du webservice sur la page. Ce n'est que lorsque je débogue que j'ai cette erreur.
J'ai également remarqué que lorsque j'essaie de déboguer la page, il charge l'emplacement du fichier - D: \ projects \ etc - dans le navigateur et ne passe pas par localhost. Et il charge actuellement la page de test .html dans le projet, même si j'ai défini la page .aspx comme page de démarrage. Il semble donc que ce soit quelque chose à voir avec les paramètres du projet ou peut-être les paramètres VS2008, et pas un problème de configuration comme je l'ai d'abord supposé. Est-ce que quelqu'un a d'autres suggestions?
Merci pour la suggestion. Je l'ai essayé, mais pas de chance. Pour être honnête, même si j'ai donné toutes les technologies utilisées pour l'exhaustivité, le fait que le service web "Ping" (qui renvoie juste une chaîne littérale) a le même problème me fait penser que c'est quelque chose de simple sur les services. J'aimerais savoir quoi! – TwainJ