Web Farm Framework的间歇性同步失败

时间:2011-07-27 20:11:28

标签: web-farm-framework

我在具有两个节点的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错误的情况下,我想知道如果简单地关闭缩略图缓存会有帮助吗?

0 个答案:

没有答案