如何获取运行WCF服务的公共IP和端口?

时间:2017-11-14 18:23:05

标签: c# .net wcf service

我对WCF很新。我想向客户端发送一个URL,该URL指向服务器上的文件,因此客户端可以下载\查看它。

所以我的想法是我添加了服务正在监听的IP的相对路径。

http://86.1.2.3:8123/myfolder/myfile.rar

问题是,我找到的每个解决方案都会返回localhost:someport / mysite 显然,这对客户来说并不是真的有用。

是否有办法从托管服务的代码中获取公共IP?

或者我应该只在配置文件中包含地址,并在IP更改时更改它?

编辑:感谢您的快速帮助,我会将其包含在配置文件中。

2 个答案:

答案 0 :(得分:0)

首先,如果您没有运行服务器应用程序(I.E Apache等),则无法连接到您的终端。您可以使用像WAMP这样的服务。其次,您需要转发您正在使用的任何端口才能为文件提供服务(这在路由器配置中完成)。不,没有办法预测它所连接的服务器的IP将提前。这必须手动添加到客户端代码库中。最后,如果要在生产环境中使用它,我强烈建议您不要使用像WAMP或本地环境这样的东西。

答案 1 :(得分:0)

您需要调用外部服务,例如whatismyip.com,并解析响应。响应没有标准格式,因此不太可靠。这里回答:Get public/external IP address?