5

好的,假设我有一个 Web 应用程序,它绝对必须执行某种启动,并且必须无限期地保持运行,无论它从客户端接收到什么通信(因为它是一个基于推送的系统)

现在为了测试,我一直将它作为 Windows 服务托管,这很棒,因为它允许我有一个应用程序的硬入口点,我可以在其中进行引导并启动并运行服务

接下来,我试图将其移至 IIS 世界,以便我可以将这项服务面向外部世界...我遇到了障碍...我没有任何可以引导的硬切入点除了 global.asax 之外的应用程序,据我所知,它仅在客户端调用服务器时调用

有没有更好的领域可以让我进入应用程序并启动它而无需等待客户端连接到它?这个区域是只调用一次还是会在应用程序超出范围时定期调用(可以这么说)?就像我说的,应用程序必须始终保持运行

4

1 回答 1

4

有没有更好的领域可以让我进入应用程序并启动它而无需等待客户端连接到它?

就在这里。您可以预热 IIS

这个区域是只调用一次还是会在应用程序超出范围时定期调用(可以这么说)?

这取决于您使用 Global.asax 中的哪种方法。Application_Start每个应用程序启动运行一次。

就像我说的,应用程序必须始终保持运行

小心,这里有龙。这取决于它有多重要。如果您需要绝对的可靠性,则必须使用负载均衡器并至少拥有一项其他重复服务。其他需要考虑的事情,应用程序池需要不时回收。IIS、操作系统、您的应用程序有错误、需要安装更新、网络设备出现故障、确实发生断电等等。

于 2013-05-02T23:20:51.640 回答