Domanda

Ho usato Visual Studio 2008 per pubblicare il mio sito Web asp.net. Quando apro il sito Web sul server (server Windows 2008), ho notato che il codice in global.asax non era in esecuzione. Il mio corpo Global.asax è simile a:

<%@ Application Language="C#" %>
<script runat="server">
    protected void Application_Start()
    {
        // Initialize some site settings like a task scheduler
    }

    protected void Application_End(object sender, EventArgs e)
    {
        // Perform some clean up code
    }
</script>

Esiste un App_global.asax.dll nella cartella bin dei siti Web compilata, ma ciò non sembra aiutare.

Esiste un'opzione di configurazione che mi manca? La rimozione di App_global.asax.dll e l'utilizzo dell'originale global.asax con il sito Web precompilato funziona correttamente.

È stato utile?

Soluzione

L'unica risposta che ho trovato è quella di includere global.asax (con la logica) nella cartella di output compilata.

Altri suggerimenti

Ho riscontrato un problema simile e sono riuscito a risolverlo rimuovendo il file PrecompiledApp.config dalla cartella principale del sito Web sul nostro server di sviluppo.

Penso che questo potrebbe essere stato trasferito sul server durante la pubblicazione da Visual Studio.

Esistono alcune soluzioni in questo post che risolve il problema per alcune persone, ma non tutto. Potresti provarli e vedere se funziona per te.

Assicurati di avere tutte le DLL necessarie incluse nel tuo progetto, è anche una buona idea, compilare i tuoi progetti, confrontare le versioni delle DLL e, se queste non corrispondono, sostituiscile manualmente in ogni cartella, così puoi essere certo che stai eseguendo la versione Dlls corretta.

Questo ha funzionato per me.

Ho avuto il problema simile dopo aver pubblicato il progetto ASP.NET precompilato in .NET 4 e IIS 7.0. L'applicazione globale non era in esecuzione all'avvio dell'applicazione, quindi dopo aver posizionato PrecompiledApp.config sul server il mio problema è stato risolto e compilato il file Global.asax denominato App_global.asax.dll è arrivato all'inizio del ciclo di vita e in esecuzione.

Penso che rinominare Application_Start () in Application_OnStart () risolverà il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top