Web services AppHarbor:Web应用程序和后台工作人员之间的通信

Web services AppHarbor:Web应用程序和后台工作人员之间的通信,web-services,appharbor,Web Services,Appharbor,我有两个问题,但让我先准备一下: 假设您有一个典型的场景,其中有一个web应用程序和一个中端web服务。 web应用程序接收来自用户的请求,查询web服务并向用户发送响应 如果web服务和web应用程序在同一台计算机上运行,web应用程序将通过localhost:port访问web服务 (我知道AppHarbor web和后台工作人员不是在传统机器上运行的,但使用这种比喻更容易) 让这稍微复杂一点,web服务实际上是一个运行HTTP服务器的控制台应用程序,因此充当web服务,我们称之为webse

我有两个问题,但让我先准备一下:

假设您有一个典型的场景,其中有一个web应用程序和一个中端web服务。 web应用程序接收来自用户的请求,查询web服务并向用户发送响应

如果web服务和web应用程序在同一台计算机上运行,web应用程序将通过localhost:port访问web服务

(我知道AppHarbor web和后台工作人员不是在传统机器上运行的,但使用这种比喻更容易)

让这稍微复杂一点,web服务实际上是一个运行HTTP服务器的控制台应用程序,因此充当web服务,我们称之为webservice.exe

我的第一个问题是:AppHarbor是否会在与web应用程序相同的计算机上运行webservice.exe,从而使web应用程序能够通过localhost:port访问web服务

如果不是,console应用程序运行的机器名是否总是静态的(这允许web应用程序可靠地访问machinename:port)。如果是,webservice.exe计算机是否允许来自web应用程序计算机的传入连接

我的第二个问题是,如果两个应用程序都在同一台机器上运行(localhost场景),外部用户是否能够通过myapp.apphb.com:port访问webservice.exe


谢谢

AppHarbor当前不支持后台工作程序(控制台应用程序将在此处运行)连接到端口

如果您决定将服务托管在ASP.NET应用程序中,并在AppHarbor上的web worker(作为普通网站)中运行,则可以在myawesomeapplication.apphb.com上使用该服务,或者在您决定添加主机名时使用自定义主机名


如果不需要服务抽象,您可能也希望将其删除,并将其折叠到主网站中。

谢谢Michael,恐怕我的情况需要服务抽象。你认为我可以使用RabbitMQ(云AMQP)来促进沟通吗?后台工作人员可以在队列中监听吗?@tenor绝对可以,云AMQP将是一个很好的解决方案。