2009-05-11 7 views

Répondre

0

Hm, je suis sûr que c'est en double, mais ne peut pas le trouver. Je pense que la réponse courte est que BasicHttpBinding est la seule liaison qui fonctionne dans Trust partiel.

(EDIT: trouvé le dup, lié en question maintenant)

0

J'ai trouvé plusieurs liens pour cela, mais pas de réponse définitive. Des odeurs comme Silverlight ont été conçues contre les services Web ASMX pour la communication de style de service Web et la façon dont WCF doit jouer avec les clients plus anciens qui attendent un service Web ASMX consiste à utiliser la liaison basicHttp.

Ce lien vous donne un exemple complet (en utilisant Beta2 de Silverlight).
http://msdn.microsoft.com/en-us/magazine/cc794260.aspx

Un service standard WCF peut être invoqué par une application Silverlight aussi longtemps que l'application Silverlight a une fixation de type basicHttpBinding. Vous devez soit assurez-vous de changer la liaison par défaut du service WCF de wsHttpBinding à basicHttpBinding ou créer une nouvelle liaison de type basicHttpBinding

Cette référence dit la même chose, mais offre encore aucune explication. http://timheuer.com/blog/archive/2008/03/14/calling-web-services-with-silverlight-2.aspx

Silverlight communique en utilisant le BasicHttpBinding pour WCF

1

Quelques réponses: (1) Silverlight 4 fait maintenant la liaison Net.TCP disponible, ce qui est sacrément à portée de main quand il est pas bloqué, depuis c'est beaucoup plus rapide (voir here pour plus de détails). Il n'y a donc rien d'inhérent à l'architecture Silverlight qui l'empêche d'utiliser d'autres liaisons. (2) Quant à savoir pourquoi Silverlight n'utilise pas les autres liaisons basées sur WS * Http, c'est juste une supposition, mais je ne serais pas surpris si ces liaisons utilisaient le protocole HTTP de telle sorte que La pile HTTP limitée de Silverlight ne sera pas prise en charge, probablement pour des raisons de sécurité. Par exemple, je sais que Silverlight limite les en-têtes de contenu que vous pouvez placer sur une requête HTTP, et si l'un des protocoles WS- * nécessite des en-têtes personnalisés ou des en-têtes pouvant représenter un risque de sécurité, MS voudrait empêcher cela.

(3) Bien sûr, il est également possible que MS ne s'en soit pas encore occupé. Ils ont beaucoup travaillé avec Silverlight au cours des deux dernières années - mais ils doivent probablement prioriser leurs fonctionnalités.

Questions connexes