从同一App Service中的应用程序连接到Azure Webjob

时间:2017-12-08 01:50:07

标签: c# azure asp.net-web-api azure-webjobs orleans

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

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

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

我是否可以通过网络将这两个应用程序连接在一起?

1 个答案:

答案 0 :(得分:2)

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

如果您的Azure应用设置要在同一个沙箱中运行,请尝试设置WEBSITE_DISABLE_SCM_SEPARATION=true(请参阅doc)。虽然注意到技术上它不再是官方支持的模式。不过,测试一下是否有帮助会很有趣。