2012-03-30 1 views
1

Ich bin dabei, einen RESTful-Webdienst in WCF einzurichten.WCF REST-Dienst - Übergabe zusätzlicher Parameter, die nicht im Vertrag enthalten sind

Meine Frage ist, wie können Sie einen Service-Host mit einem Service-Kontakt als Basis der Anfrage erstellen, sondern auch zusätzliche Parameter in der Querystring übergeben, die nicht im Kontakt deklariert sind.

Können Sie über die Service-Implementierung auf die Header zugreifen, um auf den Querystring zuzugreifen? Gibt es eine Möglichkeit, die Anfrage abzufangen und ein Dictionary für die zusätzlichen querystring-Parameter zu kompilieren und diese dann an die Operation weiterzuleiten?

Hier ist ein Beispiel ServiceContact, den ich gefunden habe.

[ServiceContract] 
public interface ITest 
{ 
    [OperationContract] 
    [WebGet(UriTemplate = "Test?format=XML&code={code}", ResponseFormat = WebMessageFormat.Xml)] 
    string TestXml(string code); 
} 

dieses Beispiel nehmen würde ich entweder müssen die Abfragezeichenfolgeflag params aus dem TestXml Methode zugreifen können oder ein zusätzliches Wörterbuch/generisches Objekt als Parameter übergeben.

Vielen Dank im Voraus,

Sam

+0

I Artikel gerade gesehen habe gefunden, wo es wurde mit POST vorgeschlagen und eine XML-Übergang oder JSON-Zeichenfolge, um die zusätzlichen Werte zu speichern. Ich werde das versuchen, wäre aber immer noch daran interessiert, wie es mit GET gemacht werden könnte. – sambomartin

Antwort