Asp.net web api 通过端口21绑定Asp.NET WebApi

Asp.net web api 通过端口21绑定Asp.NET WebApi,asp.net-web-api,Asp.net Web Api,这可能不是回答这个问题的正确位置,因为这是网络的一部分,但这里是 我想建立一个WebApi(使用ASP.NET MVC WebApi框架),供网络外部的客户机使用。但是,客户端计算机通过代理服务器解决web流量,我们的软件没有对其进行身份验证。但我们注意到,传出FTP连接是可能的 所以我想知道我们是否可以托管webapi,并让客户端机器通过端口21进行连接?这有意义吗?如果这是一个愚蠢的问题,很抱歉。我设法找到了一些答案,并想与可能感兴趣的人分享 将WebApi绑定到80以外的端口 这是可能的,

这可能不是回答这个问题的正确位置,因为这是网络的一部分,但这里是

我想建立一个WebApi(使用ASP.NET MVC WebApi框架),供网络外部的客户机使用。但是,客户端计算机通过代理服务器解决web流量,我们的软件没有对其进行身份验证。但我们注意到,传出FTP连接是可能的


所以我想知道我们是否可以托管webapi,并让客户端机器通过端口21进行连接?这有意义吗?如果这是一个愚蠢的问题,很抱歉。

我设法找到了一些答案,并想与可能感兴趣的人分享

将WebApi绑定到80以外的端口 这是可能的,但很棘手。当您将Api项目发布到IIS(或任何托管它的地方)时,您只需将其绑定到另一个端口。然后还要确保在路由器中转发该端口。然后,API的客户端只需使用自定义端口指定主机,以通过该端口访问端点:
http://myhostname.com:21/api/values
或其他

难题 测试端点可能很棘手,因为Chrome会阻止通过某些端口发送的HTTP通信—端口21就是这样一个端口。因此,要测试它,您需要编写一个客户端exe,该客户端exe可以访问端点,以确保它们正常工作(就像控制台应用程序)

尽管我已经弄明白了这一切,但我仍然无法通过防火墙进行连接。我怀疑某些配置阻塞了流量,因为即使它是通过开放端口(21)输出的,但它不是FTP流量:它是HTTP流量

解决办法 我突然想到SOAP通过一系列协议(FTP、SMTP、HTTP等等)进行操作,并将其消息格式化为XML。因此,在这个场景中,通过端口21使用SOAP服务比严格意义上的HTTP REST更有意义