如何将 WCF 服务 POST 响应返回为 JSON

How to returning WCF Service POST response as JSON

我已经使用 POST 请求创建了 WCF 服务。

 [OperationContract]
        [WebInvoke(Method = "POST",
         ResponseFormat = WebMessageFormat.Json,
         RequestFormat = WebMessageFormat.Json,
         //  BodyStyle = WebMessageBodyStyle.Wrapped,
         UriTemplate = "/UpdateRCFOnline"
         )]
        String UpdateRCFOnline(RCFOnline rcf_class);

  public string UpdateRCFOnline(RCFOnline rcf_class)
    {
        string success = string.empty;
                
        try
        {
            //POST data to DB
            success = "Update Success";
        } catch(Exception ex){
            success = "Update Failed, " +ex.message;
        }
        
    return success;
    
    }

如何使此 POST 请求返回“成功”作为 JSON。因为如果我在 Fiddler 中尝试过这项服务。我在“原始”选项卡上收到的消息不是 JSON。

试试下面

public object UpdateRCFOnline(RCFOnline rcf_class)
{     
    try
    {
        //POST data to DB
        return new {
           success = "Update Success";
        }
    } catch(Exception ex){
        return new {
           success = "Update Failed, " +ex.message;
        }
    }

}

这样你就在 return 一个将被反序列化为 json 字符串的对象中。

注意。还要检查是否可以将 return data type 设置为 json