Sdílet prostřednictvím


Verwenden von Soapsuds.exe beim Remoting

Sie können mit Soapsuds.exe eine Assembly oder einen Quellcode generieren, die bzw. der die für den Aufruf eines Remoteobjekts erforderlichen Metadaten enthält.

NoteHinweis:

Soapsuds.exe kann nur für Remoteobjekte eingesetzt werden, die die HttpChannel-Klasse verwenden.

Um eine Assembly zu generieren, geben Sie einen Befehl wie den Folgenden ein:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -oa:MyProxy.dll

Das Remoteobjekt befindet sich dabei auf einem Computer namens SomeServer, und die URL des Objekts lautet MyObject.rem. Beachten Sie, dass ?wsdl am Ende der URL hinzugefügt wurde. Dies ist erforderlich, damit Soapsuds.exe funktioniert. Dann fügen Sie in die Clientanwendung einen Verweis auf die generierte Datei MyProxy.dll ein.

Um Quellcode zu generieren, geben Sie einen Befehl wie den Folgenden ein:

soapsuds.exe -url:http://SomeServer/MyObject.rem?wsdl -gc

Das Remoteobjekt befindet sich dabei auf einem Computer namens SomeServer, und die URL des Objekts lautet MyObject.rem. Beachten Sie, dass ?wsdl am Ende der URL hinzugefügt wurde. Dies ist erforderlich, damit Soapsuds.exe funktioniert. Sie können dann die generierte Datei Server.cs hinzufügen und sie dem Clientanwendungsprojekt hinzufügen. Dies bringt den zusätzlichen Vorteil, dass mit der Clientanwendung keine separate Proxyassembly ausgeliefert werden muss.

Unabhängig vom Typ der Ausgabe (Assembly oder Quellcode) erzeugt Soapsuds.exe standardmäßig einen sogenannten Wrapper-Proxy. Der Wrapper-Proxy ist eine von RemotingClientProxy abgeleitete Klasse. Die URL für das Remoteobjekt ist in dieser abgeleiteten Klasse festcodiert. Alternativ können Sie in der Befehlszeile -nowp angeben, um einen Proxy zu generieren, der kein Wrapper-Proxy ist. Für einen Proxy, der kein Wrapper-Proxy ist, wird eine leere Klasse generiert. Die Unterschiede zwischen einem Wrapper-Proxy und einem anderen Proxy werden deutlich, wenn Sie den Quellcode für ein Remoteobjekt einmal unter Angabe von -nowp und einmal ohne diese Angabe generieren. (Stellen Sie sicher, dass Sie die erzeugte CS-Datei umbenennen, da sie sonst bei der erneuten Ausführung von Soapsuds.exe überschrieben wird.) Sie müssen Nicht-Wrapper-Proxys generieren, da die URL für das Remoteobjekt nicht hartcodiert sein sollte.

Weitere Informationen zu den Befehlszeilenoptionen von soapsuds.exe finden Sie unter Soapsuds Tool (Soapsuds.exe).

Siehe auch

Weitere Ressourcen

Remoting für Fortgeschrittene

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.