A 有一个 azure 的网络角色,其中有一个测试页面和一个担任该角色的服务。 发布角色后,它不会自动启动,仅在首次使用时启动。 因此,如果角色由于某种原因被关闭,之后的第一次使用会非常慢。
有没有办法让 webrole 在部署后立即自动启动(无论是第一次,还是迁移后)?
最佳答案
查看 auto start feature of IIS 7.5 。确保为 webrole 设置 osFamily="2",以便它使用 Windows 2008 R2 操作系统。
编辑:由于技术原因,我们仍然停留在 osFamily="1"上,因此我们还无法实现自动启动功能。但是,设置自动启动所需的步骤如下:
创建您自己的自动启动提供程序来实现 IProcessHostPreloadClient interface 。曾经有一个名为 Application Warm-Up Module 的默认提供程序。 ,但不再可供下载。您可以使用 .Net Reflector 查看 Microsoft.ApplicationServer.Hosting.AutoStart.ApplicationServerAutoStartProvider.dll 的内容作为示例实现。此 dll 包含在 Windows Server(而非 Azure)AppFabric 中。
下一步是在 applicationHost.config 中指定正确的设置。列出的代码的一些变体 here可以在 RoleEntryPoint 类中输入,以便在 Azure 角色启动时调用它。
如果您成功创建了自己的自动启动提供程序,请告知社区。目前,还没有太多关于实现 IProcessHostPreloadClient 的信息。在互联网上。
关于iis - 部署后自动启动Azure webrole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580218/