silverlight 中怎么获取客户端iP

XuanXInXuan 2010-04-15 09:49:49
请高手帮忙下 最好有代码
...全文
1620 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
showname 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jv9 的回复:]

引用 6 楼 xuanxinxuan 的回复:
呵呵……谢谢大家 我应经做出来了


恭喜问题解决。 :)
[/Quote]


你好,我想加你QQ以便交流,或者你加我QQ:263421626
cyf4 2011-06-01
  • 打赏
  • 举报
回复
2楼的方法最简单
怎么得到内网IP
ft2130854 2011-01-06
  • 打赏
  • 举报
回复
怎么做的呢 楼主分享下啊
jv9 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xuanxinxuan 的回复:]
呵呵……谢谢大家 我应经做出来了
[/Quote]

恭喜问题解决。 :)
XuanXInXuan 2010-04-16
  • 打赏
  • 举报
回复
呵呵……谢谢大家 我应经做出来了
jv9 2010-04-16
  • 打赏
  • 举报
回复
通过WCF从服务器端获取就可以了。

public class Service1 : IService1
{
public string DoWork()
{
OperationContext operationContext = OperationContext.Current;
MessageProperties messageProperties = operationContext.IncomingMessageProperties;
RemoteEndpointMessageProperty remoteEndpointProperty = messageProperties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;

return string.Format("Your IP address is {0} and your port is {1}",remoteEndpointProperty.Address, remoteEndpointProperty.Port);
}
}



public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
ServiceReference1.Service1Client client=new GridSplitterSample.ServiceReference1.Service1Client();
client.DoWorkCompleted += new EventHandler<GridSplitterSample.ServiceReference1.DoWorkCompletedEventArgs>(client_DoWorkCompleted);
client.DoWorkAsync();
}
void client_DoWorkCompleted(object sender, GridSplitterSample.ServiceReference1.DoWorkCompletedEventArgs e)
{
TextBlock myBlock=new TextBlock();
myBlock.Text=e.Result;
LayoutRoot.children.Add(myBlock);
}

}
websco 2010-04-15
  • 打赏
  • 举报
回复
从服务端返回给Silverlight端不就行了,用WCF, 或者把2楼的方法改为用 WebClient 去下载服务端输出的流。
XuanXInXuan 2010-04-15
  • 打赏
  • 举报
回复
2楼的这个方法是管用 但是sliverlight中就不能设置sliverlight 控件了
huo789 2010-04-15
  • 打赏
  • 举报
回复
SL在客户端因为安全方面的原因,做了很多限制,直接不能得到,但是可以通过ASPX页面里写代码获取IP地址,然后传给Silverlight。
参考如下:
1、在aspx.cs的page_load中添加
Silverlight1.InitParameters = "IpAddress=" + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

2、在App.xaml.cs的Application_Startup中修改
string ip = e.InitParams["IpAddress"];
this.RootVisual = new MainPage(ip);

3、修改MainPage.xaml.cs的构造函数
public MainPage(string ipAddress) {
MessageBox.Show(ipAddress);
}
xnagameboy 2010-04-15
  • 打赏
  • 举报
回复
友情帮顶.正在学习中.

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧