Remoting nach dem Build-Skript, um zu überprüfen, ob das Remoting-Objekt tatsächlich erstellt wird
-
25-10-2019 - |
Frage
Wir werden mit einem Remoting -Setup ausgeführt, das die folgende Konfigurationsdatei verwendet.
<application>
<service>
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" />
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" />
<service>
<application>
Dies funktioniert gut, solange die Projekte tatsächlich die angegebenen Objekte (Objecta und ObjectB) enthalten, wenn der Client das Remoting -Objekt aufruft.
Frage
Gibt es eine einfache Möglichkeit, zu überprüfen, ob die Remoting -Objekte tatsächlich im Erstellen/Start des Servers vorhanden sind?
In der aktuellen Situation müssen wir warten, bis die Kunden einen Anruf tätigen und scheitern, bevor wir sehen, dass die Objekte nicht existieren.
Lösung
Ich habe eine "akzeptable" Antwort gefunden, aber ich bin nicht so zufrieden damit.
Ändern der Konfiguration in Folgendes:
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.ProjectPartNameSpace.ObjectA, ProjectPartName" objectUri="iObjectA.rem" />
<wellknown mode="Singleton" type="NameSpace.ProjectNameSpace.AnotherProjectPartNameSpace.ObjectB, AnotherProjectPartName" objectUri="iObjectB.rem" />
<service>
</application>
<debug loadTypes="true"/>
</system.runtime.remoting>
Geben Sie eine Remoting -Ausnahme für alle Objekte, die nicht in den referenzierten Projekt -DLLs vorhanden sind. Dies gibt eine Ausnahme für jede Konfiguration, die falsch ist, aber dazwischen müssen Sie den Server neu starten, um das "nächste" Remoting -Objekt zu erhalten, das nicht mehr funktioniert.