1

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

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

如果 Web 服务和 Web 应用程序在同一台机器上运行,则 Web 应用程序将通过localhost:port访问 Web 服务。

(我确实理解 AppHarbor 网络和后台工作人员不在传统机器上运行,但使用这个比喻更容易)

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

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

如果不是,运行控制台应用程序的机器名称是否始终是静态的(这允许 Web 应用程序可靠地访问machinename:port)。如果是这样,webservice.exe 机器是否允许来自 Web 应用程序机器的传入连接?

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

谢谢!!

4

1 回答 1

0

AppHarbor 当前不支持附加到端口的后台工作程序(这是您的控制台应用程序将运行的地方)。

如果您决定在 ASP.NET 应用程序中托管服务并在 AppHarbor 上的 Web Worker 中运行它(作为普通网站),那么它可以在 myawesomeapplication.apphb.com 上使用,或者如果您决定使用自定义主机名添加一个。

如果不需要服务抽象,您可能还想取消它并将其折叠到主网站中。

于 2012-11-26T22:30:15.880 回答