5

我在具有两个节点的 IIS 7.5 Windows 2008 RC2 场上使用 webfarm 框架 2.0。一天几次,农场会突然倒闭。基本上有两种不同类型的故障。一个是由于 thumbs.db 文件被锁定,另一个是更令人担忧的“applicationHost.config 无效。”。在这两种情况下,都不会将更改部署到场。它只是定期唤醒以检查差异,然后突然失败。在第一种情况下,维修通常会纠正问题。在第二种情况下,我经常不得不对第二个节点上的 applicationhost.config 文件进行任意更改,这会强制重新同步。

以下是两条错误消息:

1)    Failed to run operation 'ProvisionApplications'.  Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'.  Exception in response stream.  The ApplicationHost.config file is invalid. Cannot proceed with synchronization.  Exception in response stream.  The ApplicationHost.config file is invalid. Cannot proceed with synchronization. Microsoft.Web.Farm.WebFarmException: Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'.  Exception in response stream.  The ApplicationHost.config file is invalid. Cannot proceed with synchronization. ---> Microsoft.Web.Farm.WebFarmException: Exception in response stream ---> Microsoft.Web.Deployment.DeploymentException: The ApplicationHost.config file is invalid. Cannot proceed with synchronization.
       at Microsoft.Web.Deployment.AppHostConfigProvider.Add(DeploymentObject source, Boolean whatIf)
       at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
       at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
       at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable)
       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
       at Microsoft.Web.Farm.SyncApplicationsRemoteMethod.RunRemote(ServerRemoteMethodContext methodContext, Object[] parameters)
       at Microsoft.Web.Farm.WebFarmAgentService.HandleRunMethod(HttpListenerContext context)
       --- End of inner exception stack trace ---
       at Microsoft.Web.Farm.RunRemoteAsyncResult.ResponseCompleteCallback(IAsyncResult result)
       --- End of inner exception stack trace ---
       at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.RunOperationAsyncResult.EndProvision()
       at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.EndRunOperation(IAsyncResult result)
       at Microsoft.Web.Farm.RunOperationContext.FinalOperationCompleteCallback(IAsyncResult result)

2)    Server marked 'Unhealthy' due to failure to run operation 'ProvisionApplications' Microsoft.Web.Farm.WebFarmException: Failed to run method 'Microsoft.Web.Farm.SyncApplicationsRemoteMethod' on server 'LiveWeb3Vm'.  Exception in response stream.  The ApplicationHost.config file is invalid. Cannot proceed with synchronization. ---> Microsoft.Web.Farm.WebFarmException: Exception in response stream ---> Microsoft.Web.Deployment.DeploymentException: The ApplicationHost.config file is invalid. Cannot proceed with synchronization.
       at Microsoft.Web.Deployment.AppHostConfigProvider.Add(DeploymentObject source, Boolean whatIf)
       at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
       at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
       at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
       at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable)
       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)
       at Microsoft.Web.Farm.SyncApplicationsRemoteMethod.RunRemote(ServerRemoteMethodContext methodContext, Object[] parameters)
       at Microsoft.Web.Farm.WebFarmAgentService.HandleRunMethod(HttpListenerContext context)
       --- End of inner exception stack trace ---
       at Microsoft.Web.Farm.RunRemoteAsyncResult.ResponseCompleteCallback(IAsyncResult result)
       --- End of inner exception stack trace ---
       at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.RunOperationAsyncResult.EndProvision()
       at Microsoft.Web.Farm.ProvisionApplicationsOperationProvider.EndRunOperation(IAsyncResult result)
       at Microsoft.Web.Farm.RunOperationContext.FinalOperationCompleteCallback(IAsyncResult result)

我遇到过一些帖子,建议解决方法是禁用同步并创建一个手动工作流程来执行同步并忽略某些错误。但我希望有更好的解释。在 thumbs.db 错误的情况下,我想知道简单地关闭缩略图缓存是否会有所帮助?

4

0 回答 0