Magazine Internet

[SilverLight] Endpoint WCF sur une Uri relative

Publié le 16 mars 2009 par Jeremy.jeanson

Tel quel WCF ne supporte pas la création d’un point de terminaison d’un service sur une Uri relative. Tout bon codeur ASP se dira :”pas de soucis il y a toujours le context http pour nous permettre de résoudre l’Uri absolue…. oui mais voila, pas de chance, httpContext n’existe pas en Silverlight.

En cherchant dans le namespace System.Windows on fini tout de même par tombé sur DocumentUri qui permet justement de trouver l’Uri à partir de laquelle notre SilverLight est mis à disposition (ouf!).

System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsoluteUri

Donc pour instancier dynamiquement un proxy pour SilverLight sur une Uri relative on peut utiliser le code suivant

Vb

            Dim service As 
                New TestSilverlight.MonProxy.MonServiceClient( _
                    New BasicHttpBinding(), _
                    New EndpointAddress( _
                        String.Concat( _
                            System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsoluteUri, _
                            "MonService.svc")) _
                    )

C#

            TestSilverlight.MonProxy.MonServiceClient service =
                new TestSilverlight.MonProxy.MonServiceClient(
                    new BasicHttpBinding(),
                    new EndpointAddress(
                        String.Concat(
                            System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsoluteUri,
                            "MonService.svc"))
                    );

Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog