2009-07-16 19 views
1

Ich versuche, einen WCF-Dienst als Proxy für meine Silverlight-Steuerelement zu schreiben, um domainübergreifende Anforderungen an einen Internet-REST-Webdienst zu tun. Ich möchte nur die Anfragen an meinen Dienst richten, und es würde die Anfrage formatieren und an den Webdienst der dritten Partei weiterleiten (den Hostnamen und einen Teil der URL ersetzen), dann gebe einfach die Antwort an den Anrufer zurück.Silverlight, WCF und Neuschreiben Antwort

Ist meine Vorgehensweise korrekt? Der Drittanbieterserver verfügt nicht über die crossdomain.xml-Datei, um meinen Aufruf andernfalls zu ermöglichen.

Meine Frage ist, angesichts meiner WCF-Service-Ansatz möchte ich den Antworttext in meinem Dienst mit der Antwort Körper aus dem 3rd Party Service neu geschrieben, und wenn möglich, schreiben Sie die Antwort-Header um auch derjenige Ich bin von diesem Service gekommen. Auf diese Weise minimiert es die Übersetzung, die mein Webdienst für die Antwort ausführen muss. Kann ich das neu schreiben? Wenn das so ist, wie? Wenn nicht, welche Best Practices würden Sie implementieren?

Meine Schnittstelle ist jetzt sehr primitiv, etwas wie das, einfach weil ich nichts mehr als das brauche. Die Antwort vom 3rd-Party-Service ist eine JSON-Antwort.

[ServiceContract] 
interface IMyProxy 
{ 
    [OperationContract] 
    [WebGet(UriTemplate = "relay/{requestOptions}")] 
    string ForwardRequest(string requestOptions); 
} 

p.s. Ich brauche es nicht, um mit HTTPS zu arbeiten, also brauchen Sie sich nicht um das Man-in-the-Middle-Problem zu kümmern.

Antwort

0

Ich fand es heraus, glaube ich (WebOperationContext). Ich habe immer noch ein Problem, dass, wenn ich die "Transfer-Codierung" des 3. Teil-Service in meiner Antwort dupliziere, bekomme ich eine dunkle Ausnahme von den Eingeweiden des Rahmens (etwas ist "NotFound") ... aber das ist eine andere Geschichte.

Verwandte Themen