2013-05-02 91 views
5

好吧,假设我有一个绝对必须执行某种启动的Web应用程序,并且无论从客户端接收到的通信如何,都必须无限期地继续运行推基于系统).Net的IIS Web应用程序启动工作流程

现在为测试我一直主持这个作为一个Windows服务,这是伟大的,因为它允许我有一个硬入门点的应用程序,我可以做我的bootstrapping并获得服务和运行

接下来,我试图将其转移到IIS世界中,以便我可以面对外部世界的这项服务......并且我遇到了困难......我没有任何硬入口点我可以靴子陷阱的应用程序,除了global.asax,据我所知它只是调用时,客户端打电话给服务器

有一个更好的领域,我可以把一个入口的应用程序,并得到它bootstrapped没有等待一个客户端连接到它?而且这个区域只被调用过一次,还是会随着应用程序超出范围而被定期调用(可以这么说)?就像我说的,应用程序必须始终保持运行

回答

3

是否有更好的区域我可以放入应用程序的入口并在不等待客户端连接的情况下引导它?

是的,有。你可以warm up IIS

而且这个区域只调用一次,或者是因为应用程序超出范围而被定期调用(可以这么说)?

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

就像我说的,应用必须保持在任何时候都

当心,这里小龙运行。这取决于它的重要性。如果您需要完全可靠,则必须使用负载平衡器并至少有一个其他重复服务。其他需要考虑的事项,应用程序池需要不时回收。 IIS,操作系统,您的应用程序存在错误,需要安装更新,网络设备出现故障,停电等情况。

+0

哈哈,是啊我刚发现这篇文章后,我发布这...看起来很有前途...至于应用程序不得不继续运行,这是一个功能,需要大量的正常运行时间,但不必永远可靠地上升......服务可以定期上下调整,我还希望尽可能长时间保持活动状态以避免频繁运行自举程序,因为它需要一段时间才能运行。 – 2013-05-03 01:03:23

+0

有关如何“预热IIS”的链接仅适用于IIS 7.5(+?)。 – 2014-05-14 14:56:08

相关问题