Bild, wenn man so will, das folgende Szenario:Rückkehr Business Object von Web Service
- BusinessObjects.dll enthält eine Klasse "Businessobject"
- WinClient BusinessObjects.dll Business
- Web Service Referenzen verweist. dll
Web-Service verfügt über eine Methode:
public BusinessObject GetBusinessObject()
{
BusinessObject result = new BusinessObject;
result.Name = "MyBusinessObject";
return result;
}
Diese Methode wird vom WinClient aufgerufen.
Wenn ich den Verweis auf WebService hinzufüge, wird eine Proxy-Klasse erstellt. Wenn ich also von Businessobject WinClient zugreifen wie so:
BusinessObject bObj = service.GetBusinessObject();
dann bobj ist nicht das gleiche Objekt in BusinessObject.dll, ist aber eigentlich der Proxy.
Es gibt eine Behelfslösung wie hier dokumentiert - http://ryanfarley.com/blog/archive/2004/05/26/737.aspx
Meine Frage - ist das eine gute Idee? Oder sollten Objekte, die von einem Service zurückgegeben werden, IMMER als einfache DTOs behandelt werden? Wenn wir also die Logik wollen, sollten wir die Werte in das REAL businessObject kopieren. Aber was ist mit der Leistung, die dabei erreicht wird - sollte ich mich darum sorgen?
Jede Rückmeldung willkommen, danke.
Wenn Ihre EXE der einzige Client ist, der den Webdienst verwendet, warum sollte es überhaupt ein Webdienst sein? – darasd
er, um die Daten über das Internet zu bekommen, oder wo Firewalls nur einfache Protokolle wie http erlauben ... –