2

我需要从 .csdef 文件中获取原始端点配置,我该怎么做?

我不能使用RoleEnvironment.CurrentRoleInstance.InstanceEndpoints,因为它为我提供了虚拟 IP 中的内部/本地端口。但我需要知道向公众展示的端口是哪个。

例如,我有一个带有tcp 21端点的 FTP 服务器,但是当我在运行时检查该集合时,它可能具有类似tcp 5100. 例如,当我将 FTP 服务器绑定到服务器tcp 5100并通过它访问服务器时,127.0.0.1:21它工作得很好。

但是例如,当我需要建立PASV模式时,我必须发回客户端应该连接的IP和端口。我会计算出IP,但是我怎么知道已经为PASV配置的端口呢?不保证上一个集合中的端口与公共接口中公开的端口相同。

所以基本上,我怎样才能得到原始的 .csdef 配置?

干杯。

4

1 回答 1

2

我不确定这是否适用于 FTP,但在使用 HTTP 时,如果使用 HttpContext.Requst.Url,它将返回内部地址和端口。我正在使用 Header["Host"] 代替。希望这可以帮助。

于 2012-01-18T02:59:08.293 回答