2009-07-28 11 views
2

Ich habe einen Web-Service und möchte diesen "String" als nackten String ohne die zusätzliche Serialisierung durch WCF zurückgeben, weil er bereits serialisiert ist. Wie mache ich das?Zurückgeben einer blanken JSON-Zeichenfolge

[OperationContract] 
    [FaultContract(typeof(Exception))] 
    [WebGet(ResponseFormat = WebMessageFormat.Json, 
      BodyStyle = WebMessageBodyStyle.Bare, 
      RequestFormat = WebMessageFormat.Json)] 
    string Get_Json(); 

Antwort

1

Ich habe die Lösung für diese auf this page gefunden. Folgendes sollte funktionieren:

[OperationContract] 
public Stream Get_Json() { 
    return new MemoryStream(Encoding.UTF8.GetBytes("This is a string")); 
} 
+0

Vielen Dank! Ich hatte das gleiche Problem und das hat es endlich gelöst! –

0

ein servic/Betriebsverhalten hinzufügen, das den Serializer .. und tut nichts drin außer Kraft gesetzt ... nur das Ergebnis zurück wie

0

Ein viel bessere und sauberere Lösung scheint sei dieses gut dokumentierte und sauber gestaltete Projekt https://github.com/mikeobrien/WcfRestContrib, das darauf abzielt, einige der vorhandenen Lücken im WCF-REST-Lösungsraum zu schließen. Dieses Paket ist auch erhältlich durch NuGet mit:

PM> Install-Package wcfrestcontrib 
Verwandte Themen