J'essaie de comprendre un moyen d'obtenir un client Silverlight pour connaître l'adresse IP de l'utilisateur actuel. De même, j'ai vu cette information auparavant, mais en référence à la transmettre au serveur, qui est différente de mon objectif. P>
J'essaie d'écrire une application simple qui modifie la source du médiarement en fonction de l'adresse IP de l'utilisateur. Par conséquent, l'adresse IP n'est nécessaire que sur le côté du client. P>
Y a-t-il un moyen de trouver l'adresse IP sans utiliser de webservice? Si je dois utiliser un service Web, lequel serait bon d'utiliser? P>
3 Réponses :
avoir un pice de code de code dans votre fichier aspx hébergeant le contrôle Silverlight Control
var IP = '' P>
puis connectez-vous et définissez l'adresse IP sur votre Silverlight Classe p>
var ip = '<!--#echo var="REMOTE_ADDR"-->';
J'ai appris à passer une variable à l'application Silverlight. Je devais ajouter un élément
Avez-vous débogué notre application essaier d'héberger l'application sur une autre machine autre que celle que vous accédez de
Merci pour la suggestion. Je viens d'essayer de l'organiser sur IIS sur mon PC de travail. J'ai en fait de meilleurs résultats de cette façon. Il montre la adresse IP "derrière le pare-feu", mais je pense que cela fonctionnera pour mes besoins. Lorsque j'accède sur le VPN, je reçois mon adresse client VPN. De mon travail de travail, je reçois mon IP interne. Frais. Je devrais être capable de travailler avec ça. Merci beaucoup!
Vous ne pouvez pas obtenir l'adresse IP de la machine client à l'aide de tous les méchapsims côté client (JavaScript, Silverlight, etc.). P>
Michale Sync a posté un article intéressant sur la façon de récupérer les informations client de Silverlight. Silverlight-2-Beta1-URL-REFERRER-RÉSOLUTION-RÉSOLUTION-RÉSOLUTION-ADRESSE DU TEMPS-DU TEMPS-AND-IP A >. P>
Cet approcho devrait fonctionner .. mais il y a aussi une limitation p>
Ce ne sera pas en mesure d'obtenir le réel
adresse si le serveur proxy se cache
ces adresses. p>
blockQuote>
Après avoir travaillé sur ce projet pendant un moment, je pense avoir trouvé une solution plus simple lorsqu'il est hébergé dans une page ASP.NET.
<body> <form id="form1" runat="server" style="height:100%"> <div id="silverlightControlHost"> <object id="SilverlightPlugin" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="ClientBin/VideoPlayer.xap"/> <param name="onload" value="onload" /> <param name="initParams" value="txtUserIP=<%=Request.UserHostAddress %>,cc=true,m=/relative"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="3.0.40624.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/> </a> </object> </div> </form> </body>
Pour ajouter à cette réponse, vous pouvez trouver la variable de Silverlight dans la méthode Application_Startup Code> de
app.xaml.cs code>, dans
e.initparams ["TXTUSERIP"] code>
Comment puis-je faire cela à l'aide d'une page HTML au lieu d'ASP.NET?