Frage

Ich bin gespannt, wie Spiegelung und Remoting in .net Arbeit intern zu kennen. Ich höre auch, dass .NET Remoting verwenden kann, mit Anwendungen in anderen Sprachen (wie Java) geschrieben zu kommunizieren. Wie funktioniert das?

Dies ist wahrscheinlich eine große Frage so eine Antwort, die kurz auf jede Frage berührt, ist vernünftig.

War es hilfreich?

Lösung

Remoting Werke Anrufe auf bestimmte Objekte (MarshalByRefObject) abfangen und durch einen RPC-Aufruf statt durchführt; im Wesentlichen das Objekt an dem Anrufer ist nur ein leichtes Proxy für das real Objekt am Ursprung AppDomain / Maschine / etc. Die Argumente und Ergebnisse werden übertragen (wieder MarshalByRefObject berücksichtigt - anders von BinaryFormatter unter Verwendung der Werte serialisiert).

Reflection ist tief in den Kern Laufzeit gebaut und bietet Zugriff auf die zugrunde liegenden Typdefinitionen. Dies ist möglicherweise zum Teil, weil die IL unter .NET-Sprachen in Bezug auf den ursprünglichen Code recht ausdrucksvoll ist.

Ich bin aber nicht persönlich Kenntnis von Art und Weise über Remote zu Java zu sprechen. Es kann möglich sein, aber die Formate sind (AFAIK) proprietär. Im Allgemeinen sind solche Anrufe sind eher die Form von SOA nennt, wie Web-Services (auf SOAP oder POX) oder andere offene Standards wie Nachrichten mit JSON oder „Protokoll-Puffer“ (ein Open-Source-Draht-Format serialisiert nehmen mit Varianten sowohl für C # und Java).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top