2008-10-16 6 views
30

ich folgende Fehlermeldung erhalten, wenn ich versuche, meine Server-Anwendung mit Remote verbinden:C# Remoting - Wie auszuschalten Custom

Ein Problem, während der Verbindung zum Remote-Server aufgetreten zu sein scheint:
Der Server hat einen internen Fehler festgestellt. Deaktivieren Sie customErrors in der .config-Datei des Servers für weitere Information.

Dies ist der Code auf meinem Server App:

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

Es scheint das erste Mal zu arbeiten, aber es sei denn, die Server-Anwendung der Fehler auftritt, neu gestartet wird.

Ich würde vermuten, dass etwas nicht richtig aufgeräumt wird, aber ich bin mir nicht sicher, was als customError noch läuft.

Irgendwelche Ideen, wo ich anfange. Vielen Dank.

[EDIT] - Dank Gulzar, modifizierte ich meine obigen Code in das folgende und jetzt werden die Fehler angezeigt:

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

, welche Version von .net? –

+0

Vor kurzem auf 3,5 aktualisiert, aber ich bin mir sicher, es war das gleiche zuvor – HAdes

Antwort

36

for .NET 1.0/1.1, Sie eine Konfigurationsdatei benötigen für remoting Server

Wenn Sie keine <ServerEXE>.config Datei haben, erstellen Sie ein und haben dies in ihm:

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

Für .Net 2.0, Sie RemotingConfiguration.CustomErrorsMode Eigenschaft verwenden können

+1

Das getan, jetzt sehe ich die Fehler, danke. – HAdes

+1

Möglicherweise möchten Sie die fehlenden spitzen Klammern in der obigen XML für neuere Benutzer korrigieren, die möglicherweise verwirrt sind. Fühlen Sie sich frei, diesen Kommentar zu löschen, sobald Sie dies getan haben. –

+0

Dank Drew. Korrigiert. –

0

Um customErrors zu deaktivieren, öffnen Sie web.config file auf dem Server. Wenn es ein customErrors Tag gibt, ändern Sie es. Wenn es keins gibt, füge es hinzu.

Es sollte <customErrors mode="Off"/> für diesen Zweck sein.

Wenn Sie tatsächlich eine benutzerdefinierte Fehlerseite verwenden, sollten Sie diese Einstellung ändern, sobald Sie Ihr Problem gefunden haben.

5

In der Server-Datei verwenden:

RemotingConfiguration.CustomErrorsEnabled(bool);