31 votes

C# Remoting - Comment désactiver CustomErrors ?

J'obtiens l'erreur suivante lorsque j'essaie de me connecter à mon application serveur en utilisant le remoting :

Un problème semble s'être produit lors de la connexion au serveur distant :
Le serveur a rencontré une erreur interne. Pour plus d'informations, désactivez customErrors dans le fichier .config du serveur.

Voici le code de mon application serveur :

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

Cela semble fonctionner la première fois, mais si l'application serveur n'est pas redémarrée, l'erreur se produit.

Je suppose que quelque chose n'est pas nettoyé correctement mais je ne suis pas sûr de ce que c'est car le customError est toujours activé.

Une idée pour commencer ? Merci.

[EDIT] - Merci à Gulzar, j'ai modifié mon code ci-dessus pour le suivant et maintenant les erreurs sont affichées :

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

37voto

Gulzar Nazim Points 35342

Pour .Net 1.0/1.1 , vous avez besoin d'un fichier de configuration pour le serveur de remoting.

Si vous n'avez pas de <ServerEXE>.config créez-en un et mettez-y ceci :

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

Pour .Net 2.0, vous pouvez utiliser RemotingConfiguration.CustomErrorsMode (mode d'erreur personnalisé) propriété

5voto

sometimes Points 41

Dans le fichier du serveur, utilisez :

RemotingConfiguration.CustomErrorsEnabled(bool);

0voto

DOK Points 21175

Pour désactiver les customErrors, ouvrez l'onglet web.config file sur le serveur. S'il existe un customErrors changez-la. S'il n'y en a pas, ajoutez-la.

Il devrait être <customErrors mode="Off"/> à cette fin.

Si vous utilisez effectivement une page d'erreur personnalisée, vous voudrez modifier ce paramètre une fois que vous aurez trouvé votre problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X