2013-04-25 18 views
6

Ho lavorato a un nuovo sito intranet per alcune settimane e tutto ha funzionato come previsto. Se avessi apportato modifiche di qualsiasi tipo (aggiunta di testo non elaborato, nuovi controlli, ecc.) Alle mie pagine .aspx e successivamente testate in VS (F5), tutte le modifiche si sarebbero riflesse immediatamente nel browser. Qualsiasi cosa semplice come l'aggiunta di un tag <br> o complessa come l'aggiunta di un set di controlli nidificati apparirebbe al riavvio del debug.Pagine Web ASP.NET che non riflettono le modifiche recenti

All'inizio di oggi, tutto funzionava. Poi ho deciso che volevo giocare un po 'con alcuni dei gadget AjaxControlToolkit. Ho finito per installare SP1 Update 2 per VS che è stato rilasciato oggi (http://www.microsoft.com/en-us/download/details.aspx?id=38188) mentre ci stavo lavorando, così come aggiornare NuGet e installare AjaxControlToolkit da lì.

Ho aggiunto un paio di strumenti, incluso uno ScriptManager e un UpdatePanel, e tutto ha funzionato come mi aspettavo. Sono quindi andato a fare alcune modifiche e ho aggiunto un secondo ScriptManager accidentalmente. Quando sono andato su debug/run, ovviamente non è riuscito perché non si può avere più di una pagina, quindi ho rimosso quello extra e ho ripreso a correre. Di nuovo ha dato lo stesso fallimento. Ho verificato che non ne avessi accidentalmente aggiunto un altro da qualche parte, ho fatto una ricerca su tutti i file del mio progetto e ne è stata l'unica istanza, quindi ho commentato e eseguito di nuovo. Stessa cosa. Ho provato alcune cose e ho finito per riavviare IIS e VS e poi la pagina si è comportata come previsto.

Da quel momento, le eventuali modifiche apportate a QUALSIASI file nel progetto non si aggiornano più senza uscire da IIS e riavviarlo. I nuovi file aspx o html di base nel progetto fanno la stessa cosa. Poi ho ripristinato il punto di ripristino prima di aggiornare VS e ho utilizzato un backup del mio sito da prima del giorno precedente all'aggiunta di AjaxControlToolkit, e tuttavia il problema persiste.

Cosa sta succedendo qui? Mi sembra che sia correlato all'aggiornamento VS, ma non sembra davvero sensato. Non riesco a vedere un bug così grande trascurato? Perché IIS non serve la pagina aggiornata?

Ctrl + F5 nel browser non riflette le modifiche. La ricostruzione dell'intera soluzione non riflette i cambiamenti. Chiudere e riaprire il browser non riflette le modifiche. Cambiare il mio web.config non riflette le modifiche. Creazione di un sito web nuovo di zecca e il problema persiste. Passare a Visual Studio Development Server anziché IIS, il problema persiste.

L'unico modo in cui ho trovato forzare la corretta pagina aggiornata per funzionare correttamente è "Interrompi sito" in IIS e quindi riavviare, che è semplicemente troppo di una seccatura per controllare le modifiche minori a qualsiasi cosa nella mia pagina .

Utilizzo Visual Studio 2012 Express, IIS Express, .NET 4.0, C# code-behind, i file si trovano su un file system intranet (mappato a x :), separato dal mio server di produzione effettivo.

Solo nel caso (anche se non credo che sia importante dal momento che il problema è ora in corso anche con un sito web fresco) Ecco il mio web.config (che è molto di base):

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <customErrors mode="Off" /> 
    <httpRuntime /> 
    <pages> 
     <controls> 
     <add tagPrefix="ttw" src="~/Controls/CustomerInformation.ascx" tagName="CustInfo" /> 
     <add tagPrefix="ttw" src="~/Controls/CircuitInformation.ascx" tagName="CktInfo" /> 
     </controls> 
    </pages> 
    </system.web> 
    <system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="X-UA-Compatible" value="IE=EmulateIE9" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 
</configuration> 

Qualsiasi i suggerimenti sarebbero molto apprezzati e spero che una soluzione aiuti gli altri che potrebbero riscontrare lo stesso problema dopo questo aggiornamento più recente.

+1

Provare a eliminare i file temporanei ASP.NET nella cartella Microsoft.Net in Windows. Non avere un link a portata di mano ma vai su google e trova il modo corretto per gestirlo. Scusa, in fretta, devo andare. In bocca al lupo!! – Jaxidian

+0

Non lavoro in Express, ma se riesci ad espandere un po 'di più su * 'Sto usando Visual Studio 2012 Express, IIS Express, .NET 4.0, C# code-behind, i file sono su un sistema di file intranet (mappato a x :), separato dal mio server di hosting di produzione attuale * *? Come si può aggiornare l'applicazione (codice bin)? Forse stai eseguendo il codice di distribuzione bin originale? Sito Web vs applicazione Web? Come stai pubblicando/implementando? – EdSF

+0

@EdSF Spingo al server di produzione con lo strumento Copia sito Web in Visual Studio. Non è davvero rilevante in questo scenario perché non spingo al server prod fino a quando il sito non è stato testato, e non sto nemmeno arrivando a quel punto da quando questo problema è venuto fuori oggi. Iniziato con un sito Web vuoto, utilizzando solo moduli Web di Aspx. – Chris

risposta

0

Sembra un problema di autorizzazioni. L'unità di rete mappata utilizza credenziali che non dispongono di autorizzazioni adeguate oppure l'identità del pool di app IIS non dispone delle autorizzazioni per la cartella.

Problemi correlati