我有一个在 Windows 服务中运行的 WCF 服务,它位于我的本地网络上。我想要的是能够从我的 WP7(在同一网络上)上的 Silverlight 应用程序中发现 WCF。
我知道 WCF 中有一个发现功能,但是它需要 UDP,而 WP7 不支持该功能。那么还有其他方法可以发现本地 WCF 吗?
在启动 WCF 之前,我也不知道 WCF 服务的 IP 地址。
我有一个在 Windows 服务中运行的 WCF 服务,它位于我的本地网络上。我想要的是能够从我的 WP7(在同一网络上)上的 Silverlight 应用程序中发现 WCF。
我知道 WCF 中有一个发现功能,但是它需要 UDP,而 WP7 不支持该功能。那么还有其他方法可以发现本地 WCF 吗?
在启动 WCF 之前,我也不知道 WCF 服务的 IP 地址。
我想出的解决方案是在支持多播的 WP7 上使用套接字。所以设置会是这样的:
对于要在 WP7 项目中引用的 WCF 服务,WCF 服务必须是 BasicEndpoint
您可以提供一个基本端点来公开一种目录服务。它不必实现 UDDI,但它可以是一个自定义协议,以满足您的需求和 Web 服务的返回地址。
这样你只需要知道一个地址。当然,您可以缓存返回的地址并仅在无法连接时查询目录服务。