Probleme mit Remoting

09/11/2007 - 08:09 von Martin Horst | Report spam
Hi,

wir haben hier ein Webanwendung, welche mittels Remoting mit einem
Windows Dienst kommuniziert. Die Webanwendung und der Dienst verwendenen
dazu eine DLL, welche neben den Basisklassen auch die Klasse für das
Remoting enthàlt. Bildlich sieht das ganze so aus:

Dienst <-> KomponenteDLL <- - -> KomponenteDLL <-> Webseite

Wie gesagt, daß Remoting findet nur über die Komponente DLL statt. Nun
tritt seit einer Woche das folgende Problem auf: Beim Aufruf einer
bestimmten Methode in der Remoting Klasse kommt es zu der Fehlermeldung,
daß die Assembly des Windows Dienst nicht geladen werden kann. Dies ist
aber auch nur bei einer Methode der Klasse der Fall. Alle anderen (ca.
20) funktionieren ohne Probleme. Also daß Remoting làuft im Prinzip.
Ich frage mich allerdings, wie die Komponenten DLL was von der Service
Exe weiß. Der Fehler tritt letztendlich in der Methode:

System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage

auf. Ich denke mal, der Service versucht die zu serialisierende Klasse
aus seiner Exe anstatt aus der Komponenten DLL zu ziehen. Im Service
selber wird aber nirgends eine Klasse mit dem Namen deklariert. Das
beste ist auch noch, daß das ganze auf unseren Testservern problemlos
funktioniert. Nur auf dem eigentlichen Produktionsserver kommt es zu
diesem Fehler.
Hat jemand eine Idee, woran das liegen könnte. Die beiden Komponenten
DLLs sind exakt die gleichen. Ich habe die sogar mit einem File compare
verglichen, sind vollkommen identisch. Ich bin langsam kurz davor das
Remoting rauszuschmeißen und durch einen Webservice zu ersetzen.

Danke
Martin
 

Lesen sie die antworten

#1 Thorsten Kieser
09/11/2007 - 10:46 | Warnen spam
"Martin Horst" schrieb

Das beste ist auch noch, daß das ganze auf unseren Testservern problemlos
funktioniert. Nur auf dem eigentlichen Produktionsserver kommt es zu
diesem Fehler.
Hat jemand eine Idee, woran das liegen könnte.



Vielleicht das übliche Problem, Dienst zweimal installiert, deswegen Port
schon offen oder Port von anderem Programm belegt?

Ähnliche fragen