3

我一直在我的应用程序中使用 Microsoft Orleans 框架,现在正尝试将其部署到 Azure。如果您不熟悉,Orleans 是一个 Virtual Actor 框架,它公开了称为 Silos 的服务器,其中代码被实例化,保存在内存中,直到它空闲一段时间,然后被卸载。然后,我的 WebApi 应用程序充当客户端并将连接到奥尔良孤岛。

我已经在 Azure 应用服务中部署了 WebApi 应用程序,并且在同一个应用服务中创建了一个运行 Silo 的连续 Web 作业。但是,当 WebApi 客户端尝试连接到 Silo 时,我在日志中看到“无法连接”错误(通过 TCP 尝试)。

这让我觉得也许我需要将虚拟网络附加到应用程序服务,但这并没有解决问题(相同的日志消息),而且我没有看到任何表明我还需要将 webjobs 添加到虚拟网络。

我应该能够通过网络将这两个应用程序连接在一起吗?

4

1 回答 1

3

主站点运行在与运行在“scm 站点”中的 WebJobs 不同的沙箱中。它们的设置使 scm 站点可以与主站点通信,但反之则不行。这可能是在这里阻止您的原因。

尝试设置WEBSITE_DISABLE_SCM_SEPARATION=true您的 Azure 应用程序设置以使它们在同一个沙箱中运行(请参阅doc)。虽然请注意,从技术上讲,它不再是官方支持的模式。尽管如此,测试这是否有帮助还是很有趣的。

于 2017-12-08T20:45:18.360 回答