6

我想将一个简单的共享主机 ASP.NET MVC 站点部署到 Azure(使用免费站点选项),它使用Hangfire运行计划任务。

问题是该站点仅在第一个请求时启动,因此Hangfire 直到那时才开始安排任务。使用 IIS 或专用 VM,您可以设置“始终开启”选项来预热站点。但这在共享主机中是不可能的。

我能做些什么呢?我想为最小的 VM 付费,称为 "A0",并在其中放置一个 ping 脚本以确保我的站点始终处于运行状态。这会起作用,但似乎有点矫枉过正。

还有其他好的选择吗?

4

2 回答 2

7

我知道的老问题,但也许我错过了一些东西。我使用 UptimeRobot ( https://uptimerobot.com/ ),因为它不断地向您的 Web 服务器发出请求以使其保持活动状态。这不是比自己创建一个自动化的工作简单得多。同样,我不确定在共享环境中是否会使 UptimeRobot 无用,但只是我想传递的一个想法。

于 2015-04-03T18:00:59.863 回答
4

如果您仍想使用 azure 网站,则必须从 SHARED 切换到 BASIC(这是第一个具有 ALWAYS ON 选项的网站),但它比最便宜的 VM 贵 3 倍以上。

如果我是你,我会选择最便宜的云服务 - Web 角色。它的成本比最便宜的 VM 贵一点,但它已经为网站进行了配置,你不必自己设置所有内容 + 你可以使用 Visual Studio 来部署它,你可以 RDP 到盒子等等。

有关定价详细信息,请参阅http://azure.microsoft.com/en-us/pricing/details/cloud-services/

但正如评论中所建议的那样,Azure Schedule 值得一看。

更新:(警告 - 有趣但完全不严肃的解决方案)

使用 Azure Scheduler 对您的网页进行 ping 操作以使其保持活动状态;-) 您可以使用免费套餐每小时创建最多 5 个作业。这意味着您可以创建 5 个作业,这些作业将每 12 分钟 ping 您的网站。

于 2014-11-05T11:27:48.350 回答