【问题标题】:.Net Web Application app startup workflow for IIS用于 IIS 的 .Net Web 应用程序启动工作流
【发布时间】:2013-04-27 06:41:09
【问题描述】:

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

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

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

有没有更好的地方可以让我在应用程序的入口处放置一个入口并让它引导而不等待客户端连接到它?这个区域是只调用一次还是会在应用程序超出范围时定期调用(可以这么说)?就像我说的,应用程序必须始终保持运行状态

【问题讨论】:

    标签: c# asp.net wcf iis web-applications


    【解决方案1】:

    有没有更好的地方可以让我在应用程序的入口处放置一个入口并让它启动,而无需等待客户端连接到它?

    是的,有。你可以warm up IIS

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

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

    正如我所说,应用程序必须始终保持运行

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

    【讨论】:

    • 哈哈,是的,我在发布这篇文章后才发现那篇文章......看起来很有希望......至于应用程序必须保持运行,这更像是一个需要大量正常运行时间的功能但不必永远可靠地运行......服务可以定期上升和下降,我只是在寻找一种尽可能长时间保持活动状态的方法,以避免频繁运行引导过程,因为它需要运行时
    • 关于如何“预热 IIS”的链接仅适用于 IIS 7.5 (+?)。
    猜你喜欢
    • 2019-10-10
    • 2018-02-09
    • 2016-04-07
    • 1970-01-01
    • 2020-08-28
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    相关资源
    最近更新 更多