Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序启动vs服务自动启动提供程序_C#_Asp.net_Iis_Iis 7.5 - Fatal编程技术网

C# 应用程序启动vs服务自动启动提供程序

C# 应用程序启动vs服务自动启动提供程序,c#,asp.net,iis,iis-7.5,C#,Asp.net,Iis,Iis 7.5,我正在使用IIS7.5强制我的web应用程序自动加载(startMode=“AlwaysRunning”),现在我想预加载缓存数据。但我有点困惑,因为两种方法似乎相同: 在global.asax中使用应用程序启动 在IIS配置文件中使用serviceAutoStartProviders 他们似乎是多余的,做着同样的事情。如果是,我想我宁愿使用Application\u Start,也不愿在IIS配置文件中创建代码依赖项。有什么建议吗?当应用程序收到第一个请求(第一个用户或自动启动)时,会启动gl

我正在使用IIS7.5强制我的web应用程序自动加载(
startMode=“AlwaysRunning”
),现在我想预加载缓存数据。但我有点困惑,因为两种方法似乎相同:

  • 在global.asax中使用应用程序启动
  • 在IIS配置文件中使用
    serviceAutoStartProviders

  • 他们似乎是多余的,做着同样的事情。如果是,我想我宁愿使用
    Application\u Start
    ,也不愿在IIS配置文件中创建代码依赖项。有什么建议吗?

    当应用程序收到第一个请求(第一个用户或自动启动)时,会启动global.asax中的
    应用程序\u Start
    ,因此它不用于启动站点

    使用
    serviceAutoStartProviders
    启动

    IIS应用程序预热模块更易于使用

    好吧,这让我很困惑,通常需要第一个请求才能启动一个站点,从而导致应用程序启动。当
    ServiceAutoStart Enabled=“true”
    时,它不是自动发生的吗?我不明白
    服务autostart Providers
    在没有
    应用程序启动
    之前或之后不久发生的情况下如何发生。autostart发送虚假的启动网站请求,这将触发应用程序启动。您可以设置一个
    initializationPage
    以在启动时调用另一个页面。更详细地说,如果
    ServiceAutoStart Providers
    运行但
    Application\u Start
    直到第一个请求才启动,这意味着在自动启动代码中还没有web应用程序上下文,因此,
    HttpContext
    未初始化,这意味着没有全局缓存对象可用于缓存数据。但也有。所以它意味着上下文是活动的,这意味着应用程序是活动的,这意味着
    应用程序\u Start
    一定发生过。哦,好的,你是对的,它实际上根本不是为了我的目的->ServiceAutoStart Providers上的文档->“此接口主要用于非HTTP应用程序的WCF应用程序。希望预加载ASP.NET Web应用程序的ASP.NET开发人员应使用IIS 7.0中的模拟HTTP请求,并结合Global.asax文件中的应用程序启动方法。“我被Scott的博文弄糊涂了: