2008-10-16 654 views
30

I recibiendo el siguiente error al intentar conectarse a mi aplicación de servidor mediante la comunicación remota:C# Remoting - Cómo desactivar CustomErrors

Un problema parece haber ocurrido, mientras que la conexión con el servidor remoto:
El servidor encontró un error interno. Para obtener más información, desactive customErrors en el archivo .config del servidor.

Este es el código en mi aplicación de servidor:

TcpChannel tcpChannel = new TcpChannel(999); 
MyRemoteObject remObj = new MyRemoteObject (this); 
RemotingServices.Marshal(remObj, "MyUri"); 
ChannelServices.RegisterChannel(tcpChannel); 

Parece que funciona la primera vez, pero a menos que se reinicie el servidor de aplicaciones se produce el error.

Supongo que algo no se está limpiando correctamente, pero no estoy seguro de qué es el error personalizado.

Cualquier idea donde empiezo. Gracias.

[EDIT] - Gracias a Gulzar, que modifica el código anterior a la siguiente y ahora se muestran los errores:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off; 
TcpChannel tcpChannel = new TcpChannel(999); 
MyRemoteObject remObj = new MyRemoteObject (this); 
RemotingServices.Marshal(remObj, "MyUri"); 
ChannelServices.RegisterChannel(tcpChannel); 
+0

la versión de .NET? –

+0

Recientemente actualicé a 3.5 pero estoy seguro de que fue el mismo que anteriormente – HAdes

Respuesta

36

Para .Net 1.0/1.1, necesita un archivo de configuración para la comunicación remota del servidor

Si usted no tiene un archivo <ServerEXE>.config, cree uno y tener esto en él:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.runtime.remoting>  
     <customErrors mode="off" /> 
    </system.runtime.remoting> 
</configuration> 

Para .Net 2.0, puede utilizar la propiedad RemotingConfiguration.CustomErrorsMode

+1

Eso lo hizo, ahora veo los errores, gracias. – HAdes

+1

Es posible que desee corregir los corchetes angulares que faltan en el XML anterior para los usuarios más nuevos que puedan estar confundidos. Siéntase libre de eliminar este comentario una vez que lo haya hecho. –

+0

Gracias Drew. Corregido –

0

Para desactivar customErrors, abra web.config file en el servidor. Si hay una etiqueta customErrors, cámbiela. Si no hay uno, agrégalo.

Debe ser <customErrors mode="Off"/> para este fin.

Si realmente está utilizando una página de error personalizada, querrá cambiar esta configuración una vez que haya encontrado su problema.

5

En el archivo del servidor, utilice:

RemotingConfiguration.CustomErrorsEnabled(bool); 
Cuestiones relacionadas