好吧,所以让我说我有一个绝对必须执行某种启动的Web应用程序,并且无论从客户端收到的通信如何都必须无限期地运行(因为它是基于推送的系统)
现在进行测试我一直把它作为一个Windows服务托管,这很棒,因为它允许我有一个硬入口点到应用程序,我可以进行自举,并启动和运行服务
接下来,我正试图将其转移到IIS世界中,这样我就可以面对外界的这项服务......而且我遇到了麻烦......我没有任何硬入口点我可以引导除了global.asax之外的应用程序,据我所知,它仅在客户端调用服务器时调用
是否有一个更好的区域我可以进入应用程序并让它自动引导而无需等待客户端连接到它?这个区域只被调用一次还是会被定期调用,因为应用程序超出了范围(可以这么说)?就像我说的,应用程序必须始终保持运行
答案 0 :(得分:3)
是否有一个更好的区域我可以进入应用程序并在不等待客户端连接到它的情况下启动它?
是的,有。你可以warm up IIS。
这个区域只调用一次还是会定期调用,因为应用程序超出了范围(可以这么说)?
这取决于您使用的Global.asax中的哪种方法。每个应用启动时Application_Start
运行一次。
就像我说的那样,应用程序必须始终保持运行
小心,龙在这里。这取决于它的重要程度。如果您需要完全可靠性,则必须使用负载平衡器并至少具有一个其他重复服务。其他需要考虑的事项,应用程序池需要不时回收。 IIS,操作系统,您的应用程序有错误,需要安装更新,网络设备出现故障,停电确实发生等等。