C# 应用程序启动vs服务自动启动提供程序
我正在使用IIS7.5强制我的web应用程序自动加载(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
startMode=“AlwaysRunning”
),现在我想预加载缓存数据。但我有点困惑,因为两种方法似乎相同:
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的博文弄糊涂了: