2010-03-23 18 views
6

Ricevo il seguente errore in cui il sistema ritiene che il file web.config sia in fase di modifica. Il file attuale non mostra modifiche alla data di modifica del file web.config dall'ultima pubblicazione del sito. Il problema si presenta quando viene reindirizzato a un'altra pagina, anche se le pagine in cui si verifica il problema cambieranno e l'errore esisterà per qualsiasi utente che accede al sito. Il problema può essere temporaneamente alleviato ri-pubblicare l'applicazione, ma in circa 24 ore il problema tornerà. Qualche idea del perché pensa che il file stia cambiando anche se non lo è?Il file di configurazione è stato modificato da un altro programma

Current User: NT AUTHORITY\NETWORK SERVICE Target Site: BaseConfigurationRecord.EvaluateOne Error: (System.Configuration.ConfigurationErrorsException) The configuration file has been changed by another program. (E:\PEC\web.config)

StackTrace: at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName) at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) at System.Web.Configuration.RuntimeConfig.get_Authorization() at System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

+0

Avete antivirus in esecuzione? –

+0

Ottengo lo stesso problema di tanto in tanto, l'anti-virus è in esecuzione sul nostro server. Riavvio anche il nostro pool di applicazioni quando si verifica l'errore. Ma cosa potrebbe causare in primo luogo? –

risposta

1

Abbiamo trovato questo problema è stato causato da due diverse applicazioni in IIS viene configurato in modo da puntare alla stessa directory - abbiamo avuto un www.mysite.com e preview.mysite.com; avremmo impostato l'anteprima utilizzando msdeploy per clonare il sito principale e non ci siamo resi conto che www.mysite.com/foo era un'applicazione virtuale IIS autonoma, quindi abbiamo finito con www.mysite.com/foo e preview.mysite. com/foo puntando entrambi alla stessa cartella, e 'combattendo' su cui uno di loro possedeva il file di configurazione, ecc.

La rimozione della seconda app virtuale risolveva il problema.

+0

Questo ha senso –

0

Ho sperimentato questo su un sito che sto sviluppando in Visual Studio.

Sono riuscito a risolvere l'errore eliminando l'intera cartella del sito (il percorso fisico), accedendo al sito tramite il browser, riavviando il sito e infine pubblicando di nuovo il sito da Visual Studio.

Problemi correlati