我有一个Web API,可以将请求发送到WCF服务器。正在使用TopShelf启动WCF项目。
我的计划是将API和WCF发布到Azure中。 为此,我在云中创建了一个App Service,并在应用服务中发布了Web API。
WCF被公开为WebJob,因为我需要它连续运行但是我收到了这个错误:
Topshelf.Hosts.ConsoleRunHost错误:0:发生异常,System.ServiceModel.AddressAlreadyInUseException
这是因为Web API和WCF共享相同的应用服务吗?
我不知道这是否是正确的方法,还是我真的需要一台VM?
非常感谢任何帮助。
答案 0 :(得分:0)
您不能将WCF项目的TCP端口暴露给外部,因为App Service仅支持面向Internet的连接的80和443。但是在App Service中,您应该能够打开自定义套接字并使用它来在服务之间进行通信。
文档的最佳位置可从此处获得:
https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#network-endpoint-listening
你可以检查一些事情:
如果您无法使用此功能,并且您不想使用Azure的IaaS解决方案(虚拟机)并且更喜欢PaaS,则可以检查Azure Service Fabric。您应该很容易使用两种服务创建Service Fabric应用程序。