我正在努力解决 WCF 服务的寻址问题。
我们有一个客户端-服务器设置,服务器偶尔(可能每天一次)需要将数据推送到每个客户端。我希望在 NT 服务中托管的每个客户端上都有一个轻量级 WCF 侦听器服务来接收该数据。我们已经有这样一个 NT 服务设置,它为其他任务托管一些本地 WCF 服务,因此开销很小。
由于服务器上现有的遗留代码,我认为该服务需要公开为 ASMX 并用于basicHttpBinding
允许它连接。
每个客户端都由用户在服务器上注册(他们需要单独配置它们),因此发现不是问题。
我的问题是,寻址如何工作?我想象用户在表单中输入服务器上的客户端地址
http://0.0.0.0/MyService
甚至
http://hostname/MyService
如果是这样,我如何在其 App.config 中配置客户端服务?我用localhost
吗?
如果不是,那么将服务公开给服务器的推荐方式是什么?
笔记:
- 我不想在 IIS 中托管,因为这会给客户端所需的硬件增加额外的要求。
- 客户端几乎可以肯定位于 LAN 上,而不是通过公共互联网