2009-07-28 4 views
2

Я получил веб-сервис и хочу вернуть эту «строку» как голую строку без дополнительной сериализации WCF, потому что она уже сериализована. Как мне это сделать?Возвращение пустой строки JSON

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

ответ

1

Я нашел решение для этого на this page. Следующие должны работать:

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

Спасибо! У меня была такая же проблема, и это решило это наконец! –

0

добавить поведение Servic/операции, который переопределяет сериалайзер .. и ничего не делать в нем ... просто возвращает результат как

0

Гораздо лучше и чище решение, кажется, это хорошо документированный и продуманный проект https://github.com/mikeobrien/WcfRestContrib, который предназначен для подключения некоторых существующих дыр в пространстве решения WCF REST. Этот пакет доступен также через NuGet с:

PM> Install-Package wcfrestcontrib 
Смежные вопросы