2011-01-10 10 views
0

Ich habe meine Silverlight ruft meine WCF-Service und es funktioniert gut. Dies ist ein WCF (nicht RIA) -Dienst, der im Wesentlichen Entities oder eine Sammlung von Entitäten zurückgibt.Silverlight: Verwendung eines lokalen WCF-Diensts für Geschäftslogik (intermediärer WCF-Dienst)? (Ria-Dienste in Verbindung mit einem normalen WCF-Dienst?)

Ich habe wirklich keine Kontrolle darüber, um zusätzliche Elemente nur für silverlight zum Beispiel hinzuzufügen.

Ich war so denken, aber vielleicht seine schlechte Leistung oder desgin ..

Aber ein lokaler WCF-Dienst mit der Asp.net Website gehostet zu haben, die Silverlight-Gastgeber .. und ich diesen WCF-Dienst für Geschäftslogik verwenden kann Das muss keine Entitäten zurückgeben. Zum Beispiel kann silverlight den Server anrufen und dann kann der Server etwas mit PURE.net tun.

Natürlich werde ich immer noch meine Silverlight muss meinen externen WCF-Dienst sprechen, die Entitäten etc .. gibt

Was ist der beste Weg, dies zu realisieren sei, wenn überhaupt ..

Silverlight Anrufe Der lokale WCF-Dienst und der lokale WCF-Dienst "IF REQUIRED" ruft den externen WCF-Dienst auf (der Entitäten zurückgibt), und alles wird in der Kette zurückgegeben.

oder Silverlight-Aufrufe an lokalen WCF-Dienst oder an externen WCF-Dienst je nachdem, was erforderlich ist.

Es gibt eine dritte Option, aber ich denke laut und vielleicht würde es nicht passen ... Aber RIA-Dienste so Silverlight könnte dies nennen .... aber wieder kann ich nicht loswerden oder die Kontrolle über meine andere wcf-service ... also silverlight müsste beide OR ria-dienste anrufen könnte der wcf-service anrufen ... aber da habe ich noch zweifel ... denn RIA-services geben normalerweise zB IQUERRYABLE zurück ... Mein WCF-Service kommt zurück ILIST zum Beispiel, wenn RIA-Dienste zu meinem WCF-Dienst aufgerufen werden, würde es eine ILIST zurückbekommen. Daher verlangt das [QUERY] -Attribut in RIA-Diensten, dass ich IQUERYABLE zurückgebe, aber es ist nicht möglich, weil ich bereits in einer ILIST bin.

Ich würde wirklich einige Rückmeldungen zum Wetter zu schätzen, ich bin völlig vermisst den Punkt oder infact es ist eine gute Idee.

Die Tatsache bleibt, dass silverlight manchmal Standard-Sachen auf dem Server tun muss, aber nichts mit Datenzugriff oder Entitäten zu tun hat ... ich habe keine Kontrolle über den externen wcf-Dienst, sodass ich nicht einfach eine neue Methode einfügen kann für silverlight, wenn es benötigt wird.

Jeder benutzt ein ähnliches System, PROS/CONS ??

Vielen Dank im Voraus

Antwort

1

denke ich, Ihre Anwendung nur Ria Service verwenden soll und dann sollte Ria Service an den externen Service verbinden. Dann ist die gesamte Logik auf dem Server und Ihre SL-App hat ein einfaches Modell der Verwendung von Diensten. Sie können darüber nachdenken, wie alle Geschäftslogik auf dem Server ist.

Wenn IQQueryable zurückgegeben wird, können Sie die Liste immer in IQQueryable mit linq konvertieren, aber ich denke, Sie können die Liste vom RIA Service zurückgeben - das sollte kein Problem sein.