我正试图想办法让Silverlight客户端知道当前用户的IP地址.我以前也看到过类似的信息,但是参考将它传回服务器,这与我的目的不同.
我正在尝试编写一个简单的应用程序,根据用户的IP地址更改MediaElement的源代码.因此,仅在客户端需要IP地址.
有没有办法在不使用网络服务的情况下找到IP地址?如果我必须使用webservice,哪一个会好用?
在这个项目工作了一段时间之后,我想我在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>
Run Code Online (Sandbox Code Playgroud)
我更喜欢<%=Request在代码中直接使用带有ASP的initParams,而不是使用JavaScript来修改Silverlight应用程序中的控件.将其传递到InitParams后,您可以将值加载到应用程序的资源字典中.我在博客文章中详细介绍了所有这些内容:将用户的IP地址作为参数传递给Silverlight (注意:如果我的网站benmccormack.com的链接不起作用,您可能必须转到网站直接找到它.我在9/26/2009发布了这篇文章.
| 归档时间: |
|
| 查看次数: |
8092 次 |
| 最近记录: |