C # Remoting - Come disattivare CustomErrors
-
03-07-2019 - |
Domanda
Ricevo il seguente errore quando provo a connettermi alla mia app server usando il telecomando:
Sembra essersi verificato un problema durante la connessione al server remoto:
Il server ha riscontrato un errore interno. Per ulteriori informazioni, disattivare CustomErrors nel file .config del server.
Questo è il codice sull'app del mio server:
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Sembra funzionare la prima volta, ma a meno che non venga riavviata l'app del server l'errore si verifica.
Immagino che qualcosa non venga ripulito correttamente, ma non sono sicuro di cosa sia il customError ancora attivo.
Tutte le idee da cui inizio. Grazie.
[EDIT] - Grazie a Gulzar, ho modificato il mio codice sopra in quanto segue e ora vengono visualizzati gli errori:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
TcpChannel tcpChannel = new TcpChannel(999);
MyRemoteObject remObj = new MyRemoteObject (this);
RemotingServices.Marshal(remObj, "MyUri");
ChannelServices.RegisterChannel(tcpChannel);
Soluzione
Per .Net 1.0 / 1.1, è necessario un file di configurazione per il server remoto
Se non hai un file <ServerEXE>.config
, creane uno e includilo qui:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.runtime.remoting>
<customErrors mode="off" />
</system.runtime.remoting>
</configuration>
Per .Net 2.0, è possibile utilizzare RemotingConfiguration.CustomErrorsMode proprietà
Altri suggerimenti
Nel file del server, utilizzare:
RemotingConfiguration.CustomErrorsEnabled(bool);
Per disattivare gli errori personalizzati, aprire web.config file
sul server. Se è presente un tag customErrors
, modificalo. Se non ce n'è uno, aggiungilo.
Dovrebbe essere <customErrors mode="Off"/>
per questo scopo.
Se stai effettivamente utilizzando una pagina di errore personalizzata, ti consigliamo di modificare questa impostazione una volta trovato il problema.