0

我有一个在 Windows 服务中运行的 WCF 服务,它位于我的本地网络上。我想要的是能够从我的 WP7(在同一网络上)上的 Silverlight 应用程序中发现 WCF。

我知道 WCF 中有一个发现功能,但是它需要 UDP,而 WP7 不支持该功能。那么还有其他方法可以发现本地 WCF 吗?

在启动 WCF 之前,我也不知道 WCF 服务的 IP 地址。

4

3 回答 3

2

我想出的解决方案是在支持多播的 WP7 上使用套接字。所以设置会是这样的:

  • 桌面服务 - 托管 WCF 的 Windows 服务和侦听特定端口的小型 Socket 应用程序。
  • WP7 客户端 - 在连接到 WCF 之前,将使用 Sockets 发送一个广播,以在收到连接到 WCF 的响应时找出运行 WCF 的机器的 IP 地址。
于 2012-02-01T14:30:21.940 回答
1

对于要在 WP7 项目中引用的 WCF 服务,WCF 服务必须是 BasicEndpoint

于 2012-01-31T22:11:29.453 回答
1

您可以提供一个基本端点来公开一种目录服务。它不必实现 UDDI,但它可以是一个自定义协议,以满足您的需求和 Web 服务的返回地址。

这样你只需要知道一个地址。当然,您可以缓存返回的地址并仅在无法连接时查询目录服务。

于 2012-02-01T06:02:57.097 回答