Azure中的IIS应用程序初始化显示500';在升级部署后定期更新

Azure中的IIS应用程序初始化显示500';在升级部署后定期更新,iis,azure,iis-8,Iis,Azure,Iis 8,最近,我在我们的一个Azure项目中实施了应用程序初始化,以尽量减少每个站点预热所需的时间 我基本上已经实现了中概述的步骤 在新部署中,它适用于IIS中我的所有10个站点。但问题是,当我尝试升级部署时,每个站点的前25个请求中大约有500个错误 现在,这并不理想,因为在部署之后,我现在必须在每个站点上加载大约25次,然后才能通过500次,而不是在每个站点上进行一次预热。但它们并没有就此止步,它们似乎偶尔会发生 如果我在部署后对机器重新进行映像,那么问题就解决了。但是,以停机为代价,这不是一种选择

最近,我在我们的一个Azure项目中实施了应用程序初始化,以尽量减少每个站点预热所需的时间

我基本上已经实现了中概述的步骤

在新部署中,它适用于IIS中我的所有10个站点。但问题是,当我尝试升级部署时,每个站点的前25个请求中大约有500个错误

现在,这并不理想,因为在部署之后,我现在必须在每个站点上加载大约25次,然后才能通过500次,而不是在每个站点上进行一次预热。但它们并没有就此止步,它们似乎偶尔会发生

如果我在部署后对机器重新进行映像,那么问题就解决了。但是,以停机为代价,这不是一种选择

有什么想法吗

我有以下资料:

<system.webServer>
    <applicationInitialization skipManagedModules="true">
        <add initializationPage="/" />
    </applicationInitialization>
</system.webServer>
ServiceDefinition.csdef中的启动任务以打开应用程序初始化模块:

<Task commandLine="enableApplicationInitializationIIS.cmd" executionContext="elevated"></Task>
在ServiceConfiguration.csfg中,我设置了最新的
osFamily

<ServiceConfiguration serviceName="Foo" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
最后,我的每个网站都有以下内容:

<system.webServer>
    <applicationInitialization skipManagedModules="true">
        <add initializationPage="/" />
    </applicationInitialization>
</system.webServer>


不确定skipManagedModules是什么?

我遇到了类似的问题,找到了你的帖子。在我的例子中,这个问题在初始部署和升级部署中已经存在

在错误日志中,我发现“值不能为null”异常。似乎ServerManager无法初始化—using语句中的代码未执行。结果证明我试图将程序集Microsoft.Web.Administration(从Windows 7)部署到Windows Server 2012计算机上

应用正确版本后,500个错误消失

System.TypeInitializationException: The type initializer for 'Microsoft.Web.Administration.ConfigurationManager' threw an exception. 
System.ArgumentNullException: Value cannot be null.
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Microsoft.Web.Administration.ConfigurationManager..cctor()
--- End of inner exception stack trace ---
at Microsoft.Web.Administration.ConfigurationManager..ctor(ServerManager owner, String applicationHostConfigurationPath)
at Microsoft.Web.Administration.ServerManager..ctor(String applicationHostConfigurationPath)
编辑:

我在初始化时继续遇到500个错误,这些错误似乎是由两个标记引起的:

<applicationInitialization remapManagedRequestsTo="app_starting.htm" skipManagedModules="true" >
    <add initializationPage="/" />
</applicationInitialization>

@SandrinoDiMattia这是你的博客帖子,我想知道你是否能提供一些见解?谢谢。嗯,我唯一要说的是就地升级是个坏主意。如果升级失败了怎么办?您应该创建一个临时部署,然后交换它。@sharptooth我们有两个部署,临时部署和生产部署。在它投入生产之前,我正在对它进行全面的测试。然后我们将生产部署到暂存,然后进行交换。那时你不应该需要就地升级。这是一个非常糟糕的主意,因为如果稍微破坏一下你的暂存,损害将永远持续下去,并且不会重现。正确的方法是创建一个新的暂存,检查它,交换,然后删除以前的生产(现在是暂存)。
<applicationInitialization remapManagedRequestsTo="app_starting.htm" skipManagedModules="true" >
    <add initializationPage="/" />
</applicationInitialization>