Domanda

Abbiamo sviluppato un sito Web che utilizza MVC, C # e jQuery. In una delle mie classi di controller stiamo convalidando gli input dell'utente e, in caso contrario, generiamo un'eccezione gestita dal parametro di errore Ajax (aka opzione). (Utilizziamo l'interfaccia utente a blocchi per visualizzare il messaggio di errore. BlockUI è un plug-in jQuery che blocca lo schermo e visualizza una finestra di messaggio.) (Sì, il messaggio contiene del testo senza caratteri divertenti o senza senso)

Quando si esegue il sito Web localmente o su un server riceviamo effetti diversi dall'eccezione generata.

Localmente: l'eccezione corretta viene visualizzata in BlockUI. Server: il messaggio "Errore di runtime" viene visualizzato al posto del messaggio di eccezione.

print(  
    public ActionResult FailUpdateStatus(string id)
    {
        string message = Request.Form["message"];

        throw new Exception(message);
    }
);

Sono stato in grado di eseguire il sito Web sul server e collegarmi in remoto al sito Web. Durante il debug viene generata l'eccezione come dovrebbe, ma l'interfaccia utente a blocchi mostra l'errore di runtime.

Qualche idea?

È stato utile?

Soluzione

Per impostazione predefinita, le applicazioni Web ASP.NET nasconderanno errori dai computer remoti che accedono al sito e restituiranno solo il generico "Errore di runtime". ASP.NET mostrerà messaggi di errore specifici dell'applicazione solo quando si accede al sito localmente (ovvero se il server delle applicazioni ASP.NET è in esecuzione sul computer di sviluppo locale o se si apre un browser Web sul server che ospita il web ASP.NET applicazione).

Per visualizzare i messaggi generati su un server remoto da un client locale, aggiungere il seguente codice al file web.config.

<configuration><system.web><customErrors mode="Off"/></system.web></configuration>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top